【问题标题】:Writing list of lists to csv file without any module/library在没有任何模块/库的情况下将列表列表写入 csv 文件
【发布时间】:2021-03-17 22:21:44
【问题描述】:

我有以下列表:

l=[a,b,c,d]

其中 a、b、c、d 是单独的列表,每个列表中具有不同的数据类型。

我正在尝试将每个列表作为单独的列写入 CSV 文件,其中标题作为列表的名称。

例如:

a b c d 1个\p t

我尝试了以下方法: 将它们转换为 zip

l=zip(a,b,c,d)

并写入 CSV 文件:

out = open('out.csv', 'w')
for row in l:
  for column in row:
    out.write('%s,' % column)
      out.write('\n')

但是,在这种情况下,由于列表之一 b 包含文本数据,分隔符不起作用,因此在 out.write('%s,' % column) 中使用的任何分隔符都会导致错误的输出。

有没有办法在不使用任何模块的情况下解决这个问题?

【问题讨论】:

  • 你能举出列表b的例子吗?另外,您是否尝试过将数据括在引号中。例如“a”、“b”、“c”
  • @mr_mooo_cow:这是来自列表 b:["author": "Bone, Muscle and Joint Team", "published"] 的示例元素。 -- 因为我们在文本中有逗号,并且使用了相同的分隔符,所以逗号后面的文本被转移到 csv 中的下一个单元格

标签: python python-3.x data-science


【解决方案1】:

这会在每个项目周围加上引号:

for row in i:
  out.write( '"' + '","'.join(row) + '"\n' )

不过,内置的csv 模块更智能、易于使用且免费提供。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-03-22
    • 2021-10-30
    • 1970-01-01
    • 2020-09-27
    • 2018-05-24
    • 1970-01-01
    • 2010-12-19
    • 2019-07-09
    相关资源
    最近更新 更多