2017-12-21 13 views
-1

私はpython 3.6を使用しています。私はいくつかのtxtファイルを持っており、私はそれらをCSVファイルとしてpythonで保存したい。 このコードが見つかりました。.txtからcsvに変換する

import csv 

txt_file = r"PA_TEST_CREDITS.txt" 
csv_file = r"mycsv.csv" 
in_txt = csv.reader(open(txt_file, "rb"), delimiter = ',') 
out_csv = csv.writer(open(csv_file, 'wb')) 

out_csv.writerows(in_txt) 

しかし、エラーが私を助けている場合それは理解されるだろう 「イテレータは(あなたがテキストモードでファイルを開くのですか?)の文字列ではなく、バイトを返すべき」です。ありがとう

+2

なぜ "" r "'ではなく '" rb "'モードで開いていますか? – roganjosh

+1

エラーはかなり明確です。 @roganjoshが指摘したように、あなたはモード 'rb'でファイルを開いた。 [open'のドキュメント(https://docs.python.org/3/library/functions.html#open)を参照してください。 – Galen

答えて

0
import csv 
txt_file = r"mytxt.txt" 
csv_file = r"mycsv.csv" 
in_txt = csv.reader(open(txt_file, "r"), delimiter = ',') 
out_csv = csv.writer(open(csv_file, 'w')) 
out_csv.writerows(in_txt) 

Pythonバージョン2.7.xを使用している場合、コードは問題なく動作するはずです。

+0

私はPython 3.6を使用しています。コードをどのように変更すればよいですか? – shahab

+0

なぜPython 3.6で試してみませんか?報告する?その間に、csvモジュールまたはr文字列が変更されたかどうかを調べることもできます。 – ShpielMeister

関連する問題