繁体   English   中英

Python 3.4将列表写入CSV

[英]Python 3.4 writing a list to a csv

我在将列表写到csv时遇到麻烦。 我当前的代码将列表(由字符串组成)写入文件,每个字符之间有空格。 这是我正在使用的,问题很可能在最后3或4行中出现:

import csv
import sys
import collections

c1 = set()
c2 = set()
c3 = set()

new=(r'file')
old=(r'file2')

with open(new, 'r') as newfile:
    newreader = csv.reader(newfile, delimiter=(','))
    for row in newreader:
        c1.add(row[0])

with open(old, 'r') as oldfile:
    oldreader = csv.reader(oldfile, delimiter=(','))
    for row in oldreader:
        c2.add(row[0])

c3=c2-c1
c1=c2|c3
print(c1)
print(c2)
print(c3)

with open (r'csv1.csv', 'w', newline='') as write_file:
    write=csv.writer(write_file, delimiter=' ')

    write.writerows(list(c1))

在此先感谢您的帮助。

writer.writerows() (复数,带s ),采用序列序列 每个嵌套序列都是一行带有列的行。

另一方面,您的集合不是这样的嵌套结构。 用生成器表达式产生一个:

with open (r'csv1.csv', 'w', newline='') as write_file:
    write=csv.writer(write_file)
    write.writerows([r] for r in c1)

这将产生列表,每一行只有一列。 由于只有一列,因此将分隔符设置为什么都无所谓。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM