python 将字符串列表转换为 CSV

python convert list of strings to CSV

我有一个这样的字符串列表:

ls = [
'Header1,Header2,Header3',
'Value1,Value2,Value3',
'Value4,Value5,Value6'
]

我想将其转换为格式为 CSV 或 CSV 对象:

+-------+-------+-------+
|Header1|Header2|Header3|
-------------------------
|Value1 |Value2 |Value3 |
|Value4 |Value5 |Value6 |

目前我尝试过:

import csv
import io

f = io.StringIO()
writer = csv.writer(f)
for i in range(len(ls)):
    writer.writerow(ls[i])

reader = csv.DictReader(f)
f.getvalue()

但它 returns 是这样的:

'H,E,A,D,E,R,1,",",H,E,A,D,E,R,2,",",H,E,A,D,E,R,3,",",V,A,L,U,E,1,","

等等

我做错了什么?

将字符串拆分为可迭代数组,然后再将它们添加到一行中:

for i in range(len(ls)):
  ls[i] = ls[i].split(',')
  writer.writerow(ls[i])

Repl.it

如您所见,不这样做将逐个字符地遍历字符串。这样,数组的每个元素都会作为一个整体进行迭代。