我有一个myfile.csv
,其行包含
first, second, third
1, 2, 3
a, b, c
1, 2, 3
等等。
我不明白如何删除myfile.csv
中的重复行。
有一个条件,我们无法保存新文件,我们需要更新myfile.csv
为了运行后脚本myfile.csv
看起来像
first, second, third
a, b, c
1, 2, 3
因此,新数据不会保存到需要更新myfile.csv
的新文件中
非常感谢你。
答案 0 :(得分:6)
您可以遍历数据并过滤列表以仅包含唯一值:
import csv
with open('filename.csv') as f:
data = list(csv.reader(f))
new_data = [a for i, a in enumerate(data) if a not in data[:i]]
with open('filename.csv', 'w') as t:
write = csv.writer(t)
write.writerows(new_data)
答案 1 :(得分:2)
简单明了 pandas
模块:
import pandas as pd
df = pd.read_csv('myfile.csv')
df.drop_duplicates(inplace=True)
df.to_csv('myfile.csv', index=False)
https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.drop_duplicates.html https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html