解析具有不同标志的文本文件的熊猫更换线和分隔符

时间:2017-05-04 10:12:08

标签: python pandas parsing

我正在解析一个txt文件,该文件使用'#@#@#'换线和'〜'用于柱分离。我还可以使用pd.read_csv()来解析它以获取DataFrame吗?

1 个答案:

答案 0 :(得分:2)

lineterminator的主要问题长度必须是1,因此可以在read_csv之后使用过滤:

temp=u"""a~h~h#@#@#a~h~h#@#@#"""
#after testing replace 'StringIO(temp)' to 'filename.csv'
df = pd.read_csv(StringIO(temp), lineterminator='#', sep='~', header=None)
print (df)
   0    1    2
0  a    h    h
1  @  NaN  NaN
2  @  NaN  NaN
3  a    h    h
4  @  NaN  NaN
5  @  NaN  NaN

df = df[df.iloc[:,0] != '@']
print (df)
   0  1  2
0  a  h  h
3  a  h  h