gpt4 book ai didi

csv - 基于两列删除csv文件中的重复项?

转载 作者:行者123 更新时间:2023-12-04 19:07:53 26 4
gpt4 key购买 nike

我有一个必须读取的 CSV 文件,并且在写入之前删除了重复值。

重复值将基于两列(日期、价格)(AND 条件语句)。因此,在下面的示例中,第 1 行、第 2 行和第 4 行将写入 CSV。第 3 行将符合重复条件(因为相同的日期和价格与第 1 行匹配)并且将被排除(不写入 CSV)。

address      floor       date         price
40 B STREET 18 3/29/2015 2200000
40 B STREET 23 1/7/2015 999000
40 B STREET 18 3/29/2015 2200000
40 B STREET 18 4/29/2015 2200000

最佳答案

您可以使用 DictReaderDictWriter来完成你的任务。

import csv

def main():
"""Read csv file, delete duplicates and write it."""
with open('test.csv', 'r',newline='') as inputfile:
with open('testout.csv', 'w', newline='') as outputfile:
duplicatereader = csv.DictReader(inputfile, delimiter=',')
uniquewrite = csv.DictWriter(outputfile, fieldnames=['address', 'floor', 'date', 'price'], delimiter=',')
uniquewrite.writeheader()
keysread = []
for row in duplicatereader:
key = (row['date'], row['price'])
if key not in keysread:
print(row)
keysread.append(key)
uniquewrite.writerow(row)

if __name__ == '__main__':
main()

关于csv - 基于两列删除csv文件中的重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32871360/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com