2017-02-22 7 views
1

だから私はこれに似て周り20kの列を持つこのような生のファイルを、持っているどのように対処するread_csv | ')これは、(a | 1)列が分割されるため、余分な列を持つデータフレームを作成します。パンダは9月括弧内の文字

私はquotechar引数を使用しようとしましたが、これは1つの値しか取ることができません。どんな助けでも大歓迎です

+0

を[これ](のhttp:/ /stackoverflow.com/questions/35948417/how-to-use-square-brackets-as-a-quote-character-in-pandas-read-csv)が役立つかもしれません。 – Cleb

+0

あなたの質問のデータには、 'pd.read_csv( 'raw.csv'、sep ="(?<!a)\ |(?!1) "、engine = 'python')'というものがあります。しかし、私はあなたの実際のデータがより複雑かもしれないと思います。 – Abdou

答えて

2

あなたが指定したデータ例では、余分なセパレータはヘッダー行にのみ表示されます。そのように、あなたはnamesキーワードを使用して、独自のカラム名を供給し、その後、次のようにヘッダー行をスキップするパンダを言うことができる:

import pandas as pd 

df = pd.read_csv('raw.csv', sep='|', skiprows=1, names=["number", "colour", "(a|1)", "animal"]) 
print df 

これはあなたを与えるだろう:

number colour (a|1) animal 
0  1 green  x dog 
1  2 blue  y cat 
2  3 red  z owl 
関連する問題