在csv上写下列

时间:2013-07-01 10:34:26

标签: python

我有一个csv文件。我想在修改它们之后将其列写在另一个文件上。 我试图转置csv文件并写入每一行,然后再次转置结果。 但是,这需要太多时间。

然后我尝试了类似的事情:

my_reader = csv.reader(source, delimiter = delim)
my_writer = csv.writer(destination, delimiter = delim)

for column in zip(*my_reader):
        my_writer.writerows(column) 

for column in zip(*my_reader):
    for k in column:
        my_writer.writerow[k]

在第一种情况下,结果是一个包含四列的csv文件(我不知道为什么,因为原始测试文件有超过一百列)。

在第二种情况下,结果写在一列中。

如何单独编写每列?

1 个答案:

答案 0 :(得分:1)

with open(source) as fin, open(destination, 'w') as fout:
   reader = csv.reader(fin, delimiter=delim)
   writer = csv.writer(fout, delimiter=delim)
   for line in reader:
      line[0] = 42   # manipulate existing the column
      line.append('new column')  # Add a new column
      writer.writerow(line)