【Python】CSVに出力する csv.writerを使ってpandas seriesデータを横並びに出力する

Python

pandasを使ってCSVを読み書きすることが多いかと思いますが、先日「1次元のSeriesデータを横並び(カンマ区切り)でto_csvで出力しようとしたが、どうしても縦並び(改行区切り)で出力される」という問題にあたり苦労しました。

結果、list型に変換して標準関数のcsv.writerを使って出力することで解決した。

地味ですが何度も繰り返している気がするのでこの機会にメモとして手順をのことしておきます。

問題 : pandas seriesデータをto_csvで横並びに出力できない!

解決策 : カンマ区切りテキストに変換してcsv.writerを使う

カンマ区切りのテキストに一度直した後、標準出力のcsv.writerで出力します。

#CSV出力のために変換(カンマ区切りでテキストを作成)
output = ''
for i in df:
    output = output + str(i) + ','
output = output + '\n'
        
#CSV形式で出力
with open("output.csv",'a',encoding='utf_8_sig') as file:
    file.write(output)    

参考

PythonでCSVファイルを読み込み・書き込み(入力・出力) | note.nkmk.me
Pythonの標準ライブラリのcsvモジュールを使うと、CSVファイルの読み込み・書き込み(新規作成・上書き保存・追記)ができる。 csv --- CSV ファイルの読み書き — Python 3.11.4 ドキュメント csvというモジュール ...

コメント