Python 如何在现有csv文件中插入列?

Python 如何在现有csv文件中插入列?,python,csv,Python,Csv,我是Python的新手,需要了解如何将列插入到包含数据=今天日期的现有csv文件中 如果您能提供任何指导/见解,我将不胜感激 提前谢谢你! AJ您应该在Python中对csv进行一些背景搜索。有很多好文章/教程。大多数人使用csv模块作为方便和功能,但这不是必需的 要修改的基本模式(如上注释中所述)是: 打开要读取的文件 打开另一个将保存修改结果的文件 逐行浏览正在读取的文件 如果需要,可以计算新值,也可以将其附加到行中 将其写入新文件 关闭两个文件 以下是使用csv模块的示例: impor

我是Python的新手,需要了解如何将列插入到包含数据=今天日期的现有csv文件中

如果您能提供任何指导/见解,我将不胜感激

提前谢谢你!
AJ

您应该在Python中对csv进行一些背景搜索。有很多好文章/教程。大多数人使用
csv
模块作为方便和功能,但这不是必需的

要修改的基本模式(如上注释中所述)是:

  • 打开要读取的文件
  • 打开另一个将保存修改结果的文件
  • 逐行浏览正在读取的文件
  • 如果需要,可以计算新值,也可以将其附加到行中
  • 将其写入新文件
  • 关闭两个文件
以下是使用
csv
模块的示例:

import csv
input_file = 'data.csv'
output_file = 'data_mod.csv'

with open(output_file, 'w') as target:
    target_writer = csv.writer(target)

    # open the source
    with open(input_file, 'r') as source:
        source_reader = csv.reader(source)
        # now both are "open and ready"
        # fix the header row, assuming there is one by reading 1 line
        header = source_reader.__next__()
        # csv reader returns a list for the rows read, so header is a list,
        # we can just add to it
        header.append('sum')
        # write to the modified file
        target_writer.writerow(header)
        # now use loop to update all remaining rows
        for row in source_reader:
            sum = int(row[0]) + int(row[1])
            row.append(sum)
            target_writer.writerow(row)
# if you use the 'with' command structure, it will close the files automatically
print('done')
原始文件:

value 1,value 2
1,2
3,4
-2,2
修改后的文件data_mod.csv:

value 1,value 2,sum
1,2,3
3,4,7
-2,2,0

这回答了你的问题吗?阅读每一行,添加所需字段,并将其写入新文件。感谢您的输入。如何添加字段?我知道如何读和写这行,但不熟悉如何添加字段及其位置。杰夫,非常感谢!这帮了大忙。唯一的问题是,我在追加之前获得了一个额外的行,我想知道是否有一种方法可以将列追加到开头。我不确定“在追加之前获得额外的行”是什么意思。需要注意的一点是,当您可以使用我在上面展示的
next
方法来“烧录”您不希望读取的文件中的行时。不确定您的原始文件是如何设置的。在行首追加时,如果您使用
csv
,读取的结果就是我上面显示的列表。因此,使用标准的列表方法,例如
insert
,将新内容放在任何你想要的地方。当然,如果这回答了您的问题,请接受答案。:)我对Python中的所有内容都很陌生,但我想我理解您的意思,并将继续努力。再次感谢你,杰夫。