读取.dat文件并包含空格

时间:2019-03-01 08:35:49

标签: python pandas

我有一个.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()

这将返回所有单词的大列表,并忽略空格。对这个有什么想法吗?

2 个答案:

答案 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函数加载。