Задача: импортировать файл содержащий различные данные.
Ранее пользовался матлабом и там все было просто: импортируешь файл и сразу можешь задать тип данных. Н-р:
Cleared_file = textscan (fid2, '%{dd/MM/yyyy HH:mm:ss}D%f%f%f%f%q%f%q%f%q%f%f%f%f%f', 'HeaderLines',1, 'delimiter','\t'); В таком случае я получал таблицу, первый столбец - дата время, %f - float столбцы, %q - столбцы с текстовыми комментариями. Есть ли аналогия в Python? Смотрел Pandas, но как понял ее функция требует чтобы датавремя всегда были в первом столбце, а если изменить - потом переписывать код. В планах сделать выбор для пользователя, чтобы она сам вводил формат данных даты и времени и они применялись к файлу. Подскажите есть ли аналог textscan в Python?
Все верно, это задача pandas, но нужно разбираться с правильным чтением файла.
Там можно настроить разделитель данных, хедер и типы данных.
Например функция read_csv для чтения csv-файла:
pd.read_csv(
'data.csv', # файл
sep=";", # разделитель данных
header=0, # индекс строки с названиями колонок
names=["foo", "bar"], # если нет хедера, можно свои названия добавить
index_col=["foo"], # колонка для индексации, если нужно
dtype={'a': np.float64, 'b': np.int32} # указать типы данных для колонок
parse_dates=[0], # список индексов столбцов с датами
)
Так можно читать много форматов файлов. Так же, тип данных можно изменить после чтения файла. Рекомендую нырнуть в документацию :)
Александр, спасибо большое за ответ на мой не четко сформулированный вопрос) кратко и точно в цель, приятно читать)