0
我使用python 2.7從CSV文件中清除一些數據,然後將其存入MySQL數據庫。在python中比較CSV中的數據
每一行都是帶有時間戳的用戶條目。
在我將數據發送到數據庫之前,我想檢查CSV中是否有重複的行(具有相同用戶名的兩行),然後使用定時器(在同一行上)來檢查保留哪一個。
# set up data container
data = []
# read csv file
with open(file, 'rU') as f:
# create file reader
reader = csv.reader(f)
# skip first row (headers)
next(reader)
# gather data in a table
for row in reader:
data.append(row)
我想我得到與二維數組比較項目混淆......我知道,用戶名是data[][1]
和定時器(INT)是data[][52]
。
我試圖創建一個新的列表如下:
usernames = []
cleaner_list = data
for row in data:
if row[1] is in usernames:
# dupe
else:
usernames.append(row[2])
但嘗試的數據進行比較時,我一直在走出去的範圍,例如像這樣:
if row[1] is in usernames:
if row[52] > usernames[row[2]][52]:
# delete row[52] from cleaner_data
else:
# delete the equivalent row in usernames from cleaner_data
我覺得我我推翻了這個,但我不能使用set
,因爲我需要數據保持一致。我想創建一些獨特的用戶名枚舉列表,並過濾CSV列,但我不知道如何保持對行的正確引用,當我找到一個重複的,並需要檢查它的計時器之前刪除它。 任何幫助將非常感激!