【问题标题】:python convert list of strings to CSVpython将字符串列表转换为CSV
【发布时间】:2020-01-03 01:03:22
【问题描述】:

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

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()

但它会返回如下内容:

'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,","

我做错了什么?

【问题讨论】:

    标签: python csv stringio


    【解决方案1】:

    在将字符串添加到一行之前将它们拆分为可迭代数组:

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

    Repl.it

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

    【讨论】:

      猜你喜欢
      • 2018-08-04
      • 2015-04-14
      • 2016-11-09
      • 1970-01-01
      • 2023-03-16
      • 2017-11-15
      • 2017-11-07
      • 2016-06-24
      • 2010-12-25
      相关资源
      最近更新 更多