2017-12-26 6 views
0

私は、;で区切られたcsvファイルを読み込もうとしています。デフォルトのCSVセパレータを変更するにはどうすればよいですか?

コード:

import csv 
with open('Ingresos_e_eCPM_por_fecha_y_cliente.csv', 'rb') as csvfile: 
    spamreader = csv.reader(csvfile, quotechar='|') 
    for row in spamreader: 
     print ', '.join(row) 

私はこのCSVデータを持っている:私は私のPythonコードで読み取るしようとすると問題がある

21/12/2017;En;229.620;18.508;8,06%;14,56;0,79 
22/12/2017;En;204.042;48.526;23,78%;43,98;0,91 
23/12/2017;En;102.613;20.223;19,71%;17,86;0,88 
24/12/2017;En;90.962;19.186;21,09%;14,26;0,74 
25/12/2017;En;60.189;12.654;21,02%;11,58;0,92 

、それは私にこれらを示しています

21/12/2017;En;229.620;18.508;8, 06%;14, 56;0, 79 
22/12/2017;En;204.042;48.526;23, 78%;43, 98;0, 91 
23/12/2017;En;102.613;20.223;19, 71%;17, 86;0, 88 
24/12/2017;En;90.962;19.186;21, 09%;14, 26;0, 74 
25/12/2017;En;60.189;12.654;21, 02%;11, 58;0, 92 

私はcsvと同じ方法でデータが必要です!

+0

あなたの入力ファイルは、 ';'と '、'?また、csvはあなたが持っていないカンマ区切りの値の略です。 – arkdevelopment

+5

...デリミタをセミコロンに設定しようとしましたか?あなたのリーダーはデフォルトのコンマ区切り文字を使用しています。 –

+3

csvファイルがありません。セミコロンで区切られた値ファイルがあります。 Try'csv.reader(csvfile、delimiter = ';'、quotechar = '|') 'おそらく? – pault

答えて

2

ドキュメントを読むと、Dialect.delimiterを指定して、csv moduleにどの文字を使用してフィールドを区切るかを指定できます。

csv.reader(csvfile, dialect='excel', **fmtparams) 

他の任意fmtparamsキーワード引数は、現在の方言で オーバーライド個々フォーマットパラメータに与えることができます。あなたのケースでは

import csv 
with open('Ingresos_e_eCPM_por_fecha_y_cliente.csv', 'rb') as csvfile: 
    spamreader = csv.reader(csvfile, delimiter=';', quotechar='|') 
    for row in spamreader: 
     print ', '.join(row) 

代替1を使用することです:

spamreader = csv.reader(csvfile, delimiter=';', quotechar='|') 
2

セミコロンdelimiter=';'へ(CSV)ファイルの区切り文字はカンマ区切り値を調整する必要があります(セミコロンで区切られたcsvの通常の原因は優れています):

関連する問題