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