2017-09-28 7 views
0

ラリーサーバーからデータを取得していて、CSVファイルに書き込んでスナップショットを作成したいと考えています。 私が使用してファイルを作成しています:Pythonスクリプトで作成されたCSVファイルを区切る

orig_stdout = sys.stdout 
timestr = time.strftime("%m-%d-%Y") 
f = open(timestr+'FileName.csv', 'w') 
sys.stdout = f 

#all of the setup and functions 

sys.stdout = orig_stdout 
f.close() 

私は、ファイルに書いています出力はから来ている:

for item in response: 
    print("%s, %s, %s, %s" % (item.Attribute1, item.Attribute2, item.Attribute3, item.Attribute4)) 

問題は、文字列が時折、すでにそれにカンマを持っているということです。これはいつものキャラクターにも当てはまります。私は上記の文字列のカンマを置き換えたくありません。

私が使用できる特殊文字は、ExcelのCSVファイルを認識し、適切に列に分割することができ、または私は何とか、このような

+0

あなたは 'csv'モジュールを見ましたか? –

+0

ああ、今は馬鹿だと感じる。私はPython(私は主にSQLやTableauのようなツールを使って作業する)には新しいです。回答の私の最初の検索では、csvモジュールが表示されませんでしたが、私はそれが存在すると推測できました。お手伝いありがとう。 – LlyfrTaliesin

+0

pythonを初めて使う人にはヒント:sys.stdoutをprintを使うファイルにリダイレクトしないでください。代わりに 'with open( 'file.csv'、 'w')のようなアプローチをoutとして使用してください:out.write( 'text')' – MrTrustworthy

答えて

2
「,,」など、複数の文字を使って区切るためにファイルを伝えることができるだろうとあります

Pythonには、さまざまなフォーマット(Excelなど)を処理できるcsvモジュールが組み込まれており、自動的に特殊オプション(エスケープなど)を自動的に処理できます。

Writer object from the CSV moduleはあなたが探しているように聞こえる。

関連する問題