Как экспортировать необычно отформатированный текстовый файл в кадр данных panda - PullRequest
0 голосов
/ 07 октября 2019

Мне нужно объединить множество текстовых файлов данных в одну электронную таблицу Excel. каждый файл, который я пытаюсь прочитать, выглядит следующим образом: ... при открытии в блокноте

... при открытии в документе Word с отображением форматирующих символов

Если я просто использую pd.read_csv (), у меня появляется ошибка "ParserError: Ошибка токенизации данных. Ошибка C: Ожидается 42 поля в строке 13, увидел 46" ТАК ​​Я использовал этот код, чтобы попытаться получитьданные в panda dataframe:

s = pd.read_fwf('data\Summary013019.txt',skiprows = 1)

sm = s[s.columns[:17]].copy()


print('dims',s.shape)
new_index = range(sm.shape[0])
sm.reindex(new_index).head()
sm.dropna(inplace = True)
sm.drop(['Unnamed: 1', 'Unnamed: 2', 'Unnamed: 4',
'Unnamed: 5', 'Unnamed: 7', 'Unnamed: 8',
'Unnamed: 10', 'Unnamed: 11', 'Unnamed: 12',
'Unnamed: 14', 'Unnamed: 15'],axis = 1, inplace = True)


sm.columns = ['number','sample','areaEt','area_nprop','ratio','conc']
ssm = sm.iloc[1:-2,:]
ssm.set_index('number', inplace = True)

Когда я открываю его, dataframe выглядит нормально, однако возникает проблема с форматом чисел, поэтому я не могу продолжить и объединить файлы в Excel для дальнейших вычислений. ssm.info() дает мне это:

<class 'pandas.core.frame.DataFrame'> Index: 88 entries, 1 to 88<br> Data columns (total 5 columns): sample 88 non-null object areaEt 88 non-null object area_nprop 88 non-null object ratio 88 non-null object conc 88 non-null object dtypes: object(5) memory usage: 4.1+ KB

Как мне получить правильные (int или float) форматы для моих столбцов? Я пробовал другие способы конвертировать текстовый файл в panda dataframe, я пытался использовать атрибут dtype в pd.read_fwf () - ничего не работает. Или, может быть, мне нужно использовать совершенно другой подход для экспорта текстового файла? Очень ценю любую помощь.

...