我有一个.dat文件,其中包含文本,最终我最终希望将其转换为熊猫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 = size4,list2 = size5,list3 = size4。如您所见,不包括空白行信息。
我也尝试过:
content = open(file).read().split()
这将返回所有单词的大列表,并忽略空格。对这个有什么想法吗?
答案 0 :(得分:0)
如果可能,请使用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
答案 1 :(得分:0)
已将.dat文件转换为CSV,使用具有ISO-8859-1编码而不是UTF-8的Pandas CSV函数加载。