我目前有一项任务涉及下载CSV主文件,删除列A - 列B <= 0的任何行,以及列C等于给定短语的行。我正在寻找创建一个程序:
到目前为止,我已经确定最好的方法是使用Pandas&#39;数据帧功能,因为我之前使用它来对CSV文件执行其他操作:
import pandas as pd
file = read_csv("sourcefile.csv")
file['NewColumn'] = file['A'] - file['B']
file = file[file.NewColumn > 0]
columns = ['ColumnsIWantToRemove']
file.drop(columns, inplace=True, axis=1)
phrases = input('What phrases are you filtering for? ')
file = file[file.C = phrases]
file.to_csv('export.csv')
&#13;
我的问题是,如何为多个短语过滤C列?我希望程序获取一个或多个短语,并且只显示C列值等于其中一个值的行。任何指导都会很棒。谢谢!!
答案 0 :(得分:0)
我只想要输入以逗号分隔:
phrases = phrases.split(",")
file = file[file.C.isin(phrases)]
答案 1 :(得分:0)
也许这可以帮到你:
import csv
input = open(sourcefile.csv, 'rb')
output = open(out_sourcefile, 'wb')
writer = csv.writer(output)
for row in csv.reader(input):
if (phrases you want C column not to be,and you can add here multiple phrases):
continue
writer.writerow(row)
input.close()
output.close()