Python CSV数据条件清理:移除指定行的问题求助
CSV数据清理规则实现问题
我在处理CSV数据清理时遇到了阻碍,需要实现以下三条规则:
- 若同一服务器存在含有效日期的记录,移除对应Date列为NA的行;
- 移除重复行;
- 仅存在单条记录的保留。
目前已完成规则2和3,但规则1无法实现。现有代码用set集合去重,但set是无序类型,没法按列做比较筛选。
示例CSV文件
Name,Environment,Available,Date Server_A,Test,NA,NA Server_A,Test,Yes,20/08/2022 Server_A,Test,Yes,20/09/2022 Server_A,Test,Yes,20/09/2022 Server_B,Test,NA,NA Server_B,Test,NA,NA
当前代码
import csv input_file = 'sample.csv' output_file = 'completed_output.csv' with open(input_file, 'r') as inputFile, open(output_file, 'w') as outputFile: seen = set() for line in inputFile: if line in seen: continue seen.add(line) outputFile.write(line)
当前输出
Name,Environment,Available,Date Server_A,Test,NA,NA Server_A,Test,Yes,20/08/2022 Server_A,Test,Yes,20/09/2022 Server_B,Test,NA,NA
期望输出
Name,Environment,Available,Date Server_A,Test,Yes,20/08/2022 Server_A,Test,Yes,20/09/2022 Server_B,Test,NA,NA
恳请提供可行的解决方案或建议。
内容的提问来源于stack exchange,提问作者calimaru1
相关产品推荐
相关产品推荐

