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])
如您所见,不这样做将逐个字符地遍历字符串。这样,数组的每个元素都会作为一个整体进行迭代。
我有一个这样的字符串列表:
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])
如您所见,不这样做将逐个字符地遍历字符串。这样,数组的每个元素都会作为一个整体进行迭代。