###現象(CSVを出力するPythonプログラムを実行すると...)
python
1 row.append('\'文字列\'') 2 row.append('\"文字列\"')
###CSVとして出力した結果
python
1'文字列',"""文字列""",
###質問
意図した通りのCSVを出力する、シングルクォーテーションをエスケープ処理したappendメソッドの文をそのまま下の行に複製し、ダブルクォーテーションに一部変更してCSV出力すると、上記のようにダブルクォーテーションが3つ連なった形でのCSV出力になってしまいます。
このような挙動になる理由を教えていただけますと大変ありがたく存じます。
期待する出力結果は以下のとおりです。
python
1'文字列',"文字列",
###環境
Windows 10
Python 3.8.3
###追記2020/07/17
以下が現象が再現するpythonプログラムとなります。よろしくお願いいたします。
■再現するプログラム
python
1# -*- coding: utf-8 -*- 2import csv 3 4row = [] 5rows = [] 6source = './test_01.csv' 7 8for i in range(3): 9 row.append('\'文字列\'') 10 row.append('\"文字列\"') 11 row = [] # 行の初期化 12 rows.append(row) 13 14with open(source, 'w', encoding="UTF-8") as f: 15 writer = csv.writer(f, lineterminator='\n') 16 writer.writerows(rows)
■実行結果(CSV出力結果)
csv
1'文字列',"""文字列""" 2'文字列',"""文字列""" 3 4
回答3件
あなたの回答
tips
プレビュー