質問編集履歴
2
コード小訂正
title
CHANGED
File without changes
|
body
CHANGED
@@ -35,7 +35,7 @@
|
|
35
35
|
|
36
36
|
row = []
|
37
37
|
rows = []
|
38
|
-
source = './
|
38
|
+
source = './test_01.csv'
|
39
39
|
|
40
40
|
for i in range(3):
|
41
41
|
row.append('\'文字列\'')
|
1
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -13,8 +13,45 @@
|
|
13
13
|
###質問
|
14
14
|
意図した通りのCSVを出力する、シングルクォーテーションをエスケープ処理したappendメソッドの文をそのまま下の行に複製し、ダブルクォーテーションに一部変更してCSV出力すると、上記のようにダブルクォーテーションが3つ連なった形でのCSV出力になってしまいます。
|
15
15
|
|
16
|
-
このような挙動になる理由を教えていただけますと大変ありがたく存じます。
|
16
|
+
このような挙動になる理由を教えていただけますと大変ありがたく存じます。
|
17
17
|
|
18
|
+
期待する出力結果は以下のとおりです。
|
19
|
+
```python
|
20
|
+
'文字列',"文字列",
|
21
|
+
```
|
22
|
+
|
23
|
+
|
18
24
|
###環境
|
19
25
|
Windows 10
|
20
|
-
Python 3.8.3
|
26
|
+
Python 3.8.3
|
27
|
+
|
28
|
+
###追記2020/07/17
|
29
|
+
以下が現象が再現するpythonプログラムとなります。よろしくお願いいたします。
|
30
|
+
|
31
|
+
■再現するプログラム
|
32
|
+
```python
|
33
|
+
# -*- coding: utf-8 -*-
|
34
|
+
import csv
|
35
|
+
|
36
|
+
row = []
|
37
|
+
rows = []
|
38
|
+
source = './data/test_01.csv'
|
39
|
+
|
40
|
+
for i in range(3):
|
41
|
+
row.append('\'文字列\'')
|
42
|
+
row.append('\"文字列\"')
|
43
|
+
row = [] # 行の初期化
|
44
|
+
rows.append(row)
|
45
|
+
|
46
|
+
with open(source, 'w', encoding="UTF-8") as f:
|
47
|
+
writer = csv.writer(f, lineterminator='\n')
|
48
|
+
writer.writerows(rows)
|
49
|
+
```
|
50
|
+
|
51
|
+
■実行結果(CSV出力結果)
|
52
|
+
```csv
|
53
|
+
'文字列',"""文字列"""
|
54
|
+
'文字列',"""文字列"""
|
55
|
+
|
56
|
+
|
57
|
+
```
|