Чтение.dat файла и включая пробелы
У меня есть файл.dat, содержащий текст, который я хотел бы в конечном итоге преобразовать в pandas DF. У меня проблема с загрузкой пустых слов в этом файле. В конечном итоге я хотел бы, чтобы это было что-то вроде:
A b C D E
1 2 4 5
2 7 r 6 s
g j l 4
Щас попробовал
contents = [i.strip().split() for i in open(file).readlines()]
Это возвращает списки разных размеров. В случае примера, который я привел выше, это было бы, list1 = размер4, список2 = размер5, список3 = размер 4. Как видите, информация о пустой строке не включена.
Я также попробовал:
content = open(file).read().split()
это возвращает большой список всех слов и игнорирует пробелы. Есть мысли по этому поводу?
1 ответ
Преобразованный файл.dat в CSV, загруженный с использованием функции CSV Pandas с кодировкой ISO-8859-1 вместо UTF-8.
Если возможно, используйте pandas.read_fwf
:
import pandas as pd
temp=u"""A b C D E
1 2 4 5
2 7 r 6 s
g j l 4"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
df = pd.read_fwf(pd.compat.StringIO(temp))
print (df)
A b C D E
0 1 2.0 NaN 4 5
1 2 7.0 r 6 s
2 g NaN j l 4