Чтение.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
Другие вопросы по тегам