2
解析一個txt文件,它使用'#@#@#'作爲改變行,'〜'作爲列分隔。我仍然可以使用pd.read_csv()來解析它以獲取DataFrame嗎?大熊貓解析文本文件,改變行號和分隔符
解析一個txt文件,它使用'#@#@#'作爲改變行,'〜'作爲列分隔。我仍然可以使用pd.read_csv()來解析它以獲取DataFrame嗎?大熊貓解析文本文件,改變行號和分隔符
有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
看的規格,有一個lineterminator選項和分隔符選項:HTTP://大熊貓.pdata.org/pandas-docs/stable/generated/pandas.read_csv.html – TLOwater
lineterminator的長度必須是1,所以可以使用'df = pd.read_csv(filename,lineterminator ='#',sep ='〜 ')'? – jezrael