Комментарии просты, полные ответы - это то, что вы ищете здесь.нужно ваших данных.Я обычно делаю такие операции ввода / вывода, используя функцию pandas read_csv .Но перед этим я рекомендую добавить заголовок в верхней части вашего файла данных (в зависимости от вашего вопроса).
Date Time Open High Low Close Volume
2009.03.10 00:00 1.26185 1.26265 1.26185 1.2623 1344
2009.03.10 00:05 1.2623 1.26255 1.26185 1.26195 1656
2009.03.10 00:10 1.262 1.2622 1.26155 1.26175 1068
Чтение этого файла - это просто вызов:
from datetime import datetime # for parsing the Date and Time columns
import pandas as pd # for reading the data file
converters_ = {
"Date": lambda value: datetime.strptime(value, "%Y.%m.%d").date(),
"Time": lambda value: datetime.strptime(value, "%H:%M").time()
}
data = pd.read_csv('{file_name_goes_here}', sep='\t', header = 0, converters=converters_, dtype="float")
Как видите, импорт предназначен для соответствующих вызовов функций.Затем определяется словарь, содержащий преобразователи для столбцов даты и времени данных.В этом случае преобразователями являются лямбда-функции , которые получают i-ое значение указанного столбца и преобразуют его в соответствующий объект даты-времени через strptime .Эта функция получает значение и конкретный формат в качестве аргументов.Наконец, данные считываются из файла с использованием функции read_csv с разделителем необходимых аргументов (вкладки), заголовком (первая строка содержит ключи для каждого столбца), конвертерами и типом d (устанавливается на float для преобразования всех остальных значений столбца вчисла с плавающей запятой).
Вызов data выведет:
>>> data
Date Time Open High Low Close Volume
0 2009-03-10 00:00:00 1.26185 1.26265 1.26185 1.26230 1344
1 2009-03-10 00:05:00 1.26230 1.26255 1.26185 1.26195 1656
2 2009-03-10 00:10:00 1.26200 1.26220 1.26155 1.26175 1068
Если вам нужно получить значения определенного столбца, сделайте вызов данные [ '{ключ}'] .Например, вызов data ['Volume'] приведет к выводу:
>>> data['Volume']
0 1344
1 1656
2 1068
Name: Volume, dtype: int64
Если вам даже нужны данные в виде массива, сделайте вызов data ['{key} ']. values Например, вызов data [' Volume '] приведет к выводу:
>>> data['Volume'].values
array([1344, 1656, 1068])
Наконец, если вы хотите прочитать столбцы Date и Time как один столбец:
from datetime import datetime # for parsing the Date and Time columns
import pandas as pd # for reading the data file
data = pd.read_csv('data.example', sep='\t', header = 0, parse_dates=[["Date", "Time"]], dtype = float)
В этом случае преобразователи не нужны, так как столбцы, которые должны быть проанализированы, указываются в списке для аргумента parse_dates .Вызов data выдаст:
>>> data
Date_Time Open High Low Close Volume
0 2009-03-10 00:00:00 1.26185 1.26265 1.26185 1.26230 1344
1 2009-03-10 00:05:00 1.26230 1.26255 1.26185 1.26195 1656
2 2009-03-10 00:10:00 1.26200 1.26220 1.26155 1.26175 1068
Надеюсь, это ответит на ваш вопрос.Не стесняйтесь задавать мне любые вопросы.Удачи!