首页 > 解决方案 > 如何过滤 .CSV 文件中的列,然后将这些过滤后的列保存到 Python 中的新 .CSV 文件中?

问题描述

我正在分析一个大型天气数据文件 Data.csv。我需要用 Python 编写一个程序来过滤 Data.csv 文件并仅保留以下列:STATION、NAME/LOCATION、DATE、AWND、SNOW。然后保存过滤后的文件并将其命名为filteredData.csv。

我正在使用 Python 3.8。我只能在某种程度上弄清楚如何在打印功能中过滤我需要的列。如何过滤此文件,然后保存过滤后的文件?

import csv

filename = 'Data.csv' 
f = open(filename, 'rt')
reader = csv.reader(f,delimiter=',')
for column in reader:
print(column[0] + "," + column[1] + "," + column[2] + "," + column[3] + "," + column[4] + "," + column[13])

Data.csv 文件的一小部分

标签: pythoncsv

解决方案


如果您在 Windows 下运行它,您可以简单地在命令末尾运行您已经使用“> newfile.csv”编写的代码,以将输出插入测试文件。

如果您想在代码中执行此操作:

import csv

new_filename = 'Reduced_Data.csv'
filename = 'Data.csv' 
f = open(filename, 'rt')
reader = csv.reader(f,delimiter=',')
for row in reader:
    with open(new_filename, 'a') as output:
        output.write('"{}","{}","{}","{}","{}","{}"\n'.format(column[0],column[1],column[2],column[3],column[4],column[13]))

推荐阅读