【发布时间】:2014-12-02 12:52:00
【问题描述】:
我有一个设置了以下字段的表单:日期时间、ID 和地址。此表单自动为每个条目分配一个唯一的 id 字符串 (U_ID),然后将此数据稍后输出到带有标题和行的 csv,如下所示:
Date Time ID U_ID Address
9/12/13 12:07 13 adfasd 1345 Wilson Way
9/12/13 13:45 8 jklj 1456 Jackson Hollow
9/13/13 14:55 13 klidh 1345 Wilson Way
9/13/13 15:00 8 ikodl 1456 Jackson Hollow
我正在寻找一种方法来通过 Python 脚本删除具有相同 ID 的重复提交,同时保留行中的其余数据。理想情况下,我只想保留与 csv 文件中的 ID 关联的第一个条目。
输出应如下所示:
Date Time ID U_ID Address
9/12/13 12:07 13 adfasd 1345 Wilson Way
9/12/13 13:45 8 jklj 1456 Jackson Hollow
到目前为止,我被困在:
import csv
with open('/Users/user/Desktop/test.csv', 'rb') as f:
r = csv.reader(f)
headers = r.next()
rows = [(Date Time, ID, U_ID, Address) for Date Time, ID, U_ID, Address in r]
clean = [row for row in rows if row[1] != '#N/A']
clean2 = list(set(row[1]))
这给了我一个只有 ID 唯一值的列表,但我不确定如何恢复与这些值的行关联的所有其他数据。
如前所述,如果我也能得到最早的提交,那就太好了,但老实说,任何唯一的 ID 提交都应该这样做。
感谢阅读!
【问题讨论】:
标签: python csv python-3.x deduplication