如何在CSV文件中添加新列?

如何在CSV文件中添加新列?,第1张

如何在CSV文件中添加新列?

这应该使您知道该怎么做:

>>> v = open('C:/test/test.csv')>>> r = csv.reader(v)>>> row0 = r.next()>>> row0.append('berry')>>> print row0['Name', 'Code', 'berry']>>> for item in r:...     item.append(item[0])...     print item...     ['blackberry', '1', 'blackberry']['wineberry', '2', 'wineberry']['rasberry', '1', 'rasberry']['blueberry', '1', 'blueberry']['mulberry', '2', 'mulberry']>>>

编辑,注意在py3k中必须使用

next(r)

感谢您接受答案。在这里,您有一个好处(您的工作脚本):

import csvwith open('C:/test/test.csv','r') as csvinput:    with open('C:/test/output.csv', 'w') as csvoutput:        writer = csv.writer(csvoutput, lineterminator='n')        reader = csv.reader(csvinput)        all = []        row = next(reader)        row.append('Berry')        all.append(row)        for row in reader: row.append(row[0]) all.append(row)        writer.writerows(all)

请注意

  1. 中的
    lineterminator
    参数
    csv.writer
    。默认情况下,它设置为
    'rn'
    ,这就是为什么间距为两倍的原因。
  2. 使用列表附加所有的行并用
    writerows
    。如果文件很大,这可能不是一个好主意(RAM),但是对于普通文件,我认为它会更快,因为I / O较少。
  3. 如本文评论中所述,请注意
    with
    ,您可以在同一行中执行以下 *** 作,而不是嵌套两个语句:

使用open(’C:/test/test.csv’,’r’)作为csvinput,open(’C:/test/output.csv’,’w’)作为csvoutput:



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5642822.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存