LoginSignup
25
25

More than 5 years have passed since last update.

Pandas to_csv関数でCSVファイルにダブルクォーテーションを2個続けて出力する方法

Last updated at Posted at 2018-12-16

PythonでCSVファイルを出力する際に、ダブルクォーテーションを2個続けて出力するのにハマったのでメモ。

動作確認環境

OS Windows8.1
Python 3.6.4
pandas 0.22.0

対応方法

to_csv関数のquoting引数に csv.QUOTE_NONNUMERIC を指定。

サンプルコード

import pandas as pd
import csv
import numpy

# データフレームにデータをセット
df = pd.DataFrame([{'data1': 'ABC', 'data2': 100, 'data3': 3.14, 'data4': numpy.nan, 'data5': '', 'data6': ""}])

# CSVファイルを出力
df.to_csv('output.csv', index=False, encoding='utf-8', quoting=csv.QUOTE_NONNUMERIC)

CSVファイル出力結果

"data1","data2","data3","data4","data5","data6"
"ABC",100,3.14,"","",""

【参考】quoting引数によるCSVファイル出力結果の違い

quoting=csv.QUOTE_MINIMAL ←デフォルト値

<CSVファイル出力結果>
data1,data2,data3,data4,data5,data6
ABC,100,3.14,,,

quoting=csv.QUOTE_NONE

<CSVファイル出力結果>
data1,data2,data3,data4,data5,data6
ABC,100,3.14,,,

quoting=csv.QUOTE_ALL

<CSVファイル出力結果>
"data1","data2","data3","data4","data5","data6"
"ABC","100","3.14","","",""

quoting=csv.QUOTE_NONNUMERIC ←本文から再掲

<CSVファイル出力結果>
"data1","data2","data3","data4","data5","data6"
"ABC",100,3.14,"","",""

25
25
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
25