2017-11-28 16 views
-1

私はこのコードを持っているCSVファイルを読み込み、大文字でそれを翻訳してのpython で別のCSVファイルに保存する必要があります:csvファイルを読み込んで大文字に変換し、別のcsvファイルにpythonで保存しますか?

import csv 
with open('data_csv.csv', 'rb') as f: 
    header = next(f).strip().split(',') 
    reader = csv.DictReader((l.upper() for l in f), fieldnames=header) 
    for line in reader: 
     print line 
with open('test.csv', 'r') as f: 
    for line in f: 
     print line 

が、私は

+0

あなたのための「正しい結果」とは何ですか? –

答えて

0

あなたドン右の結果を見つけることができませんヘッダーを別々に読む必要はありません。引数fieldnamesDictReader()に指定しないと、ヘッダはと自動的にとなります。次に、行を印刷せずに、ファイル全体を読み込んですべての行を削除しました。

入力ファイルと出力ファイルを同じwith文で開くと、出力に直接行を書き込むことができます。 ここでcsvモジュールを使用する必要はありません。なぜなら、行を解析して行を再び行にする必要がないからです。

ファイルオーバーだけループ、ラインを大文字にし、その結果を書き出す:

with open('data_csv.csv', 'r') as input, open('test.csv', 'w') as output: 
    output.writelines(line.upper() for line in input) 
+0

thnxしかし彼は私にこのエラーを与えるエラー:[Errno 2]そのようなファイルやディレクトリはありません: 'test.csv' – kazz

+0

@kazz:ああ、私の間違い。出力ファイルは、もちろん書くために開く必要があります。修正されました。 –

+0

しかしそれは開いている! – kazz

関連する問題