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