1

我有一个 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 文件(我不知道为什么,因为原始测试文件有一百多列)。

在第二种情况下,结果被写入单个列中。

我怎样才能分别写每一列?

4

1 回答 1

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)
于 2013-07-01T10:37:59.717 回答