2017-05-04 4 views
2

変更行には「#@#@#」、列分離には「〜」を使用するtxtファイルを解析しています。 pd.read_csv()を使って解析してDataFrameを取得することはできますか?変更行と区切り記号の異なる記号を含むテキストファイルを解析するパンダ

+1

、lineterminatorオプションと区切りオプションがあります.fydata.org/pandas-docs/stable/generated/pandas.read_csv.html – TLOwater

+2

lineterminatorの長さは1でなければならないので、 'df = pd.read_csv(filename、lineterminator = '#'、sep = '〜 ') '? – jezrael

答えて

2

あり、lineterminatorの主な問題長は1なければならないですので、使用の可能性フィルタリングがread_csv後に次のとおりです。http://パンダスペックを見に

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 
関連する問題