Python删除CSV文件中的列并生成新文件
假设我们有一个叫做'example.csv'的CSV文件,其内容如下:
Name,Age,City
John,25,New York
Emily,30,Los Angeles
Michael,40,Chicago
我们想要删除'City'这一列,并生成一个新的CSV文件。可以使用以下Python代码:
import csv
with open('example.csv', 'r') as infile, open('new_example.csv', 'w', newline='') as outfile:
reader = csv.DictReader(infile)
fieldnames = reader.fieldnames
fieldnames.remove('City')
writer = csv.DictWriter(outfile, fieldnames=fieldnames)
writer.writeheader()
for row in reader:
del row['City']
writer.writerow(row)
这个代码中,我们使用了Python内置的csv模块来读取和写入CSV文件。首先,我们打开了'example.csv'文件,并使用DictReader来读取文件内容。然后,我们获取了CSV文件的列名,从中删除了'City'列,并使用DictWriter来创建新的CSV文件。接着,我们写入新文件的列名,然后迭代读取器并删除'City'列。最后,我们使用DictWriter将新的行写入到新的CSV文件中。请注意,我们在打开新文件时使用了'newline='''参数,这是因为在Windows系统中,CSV文件的行尾通常是' ',而不是' ',如果不指定'newline='''参数,则可能会出现意外问题。
原文地址: https://www.cveoy.top/t/topic/m1sK 著作权归作者所有。请勿转载和采集!