Tôi có tệp CSV có nhiều mục nhập. Ví dụ: csv:Python: Xóa các mục nhập CSV trùng lặp
user, phone, email
joe, 123, [email protected]
mary, 456, [email protected]
ed, 123, [email protected]
Tôi đang cố loại bỏ các từ khóa trùng lặp theo một cột cụ thể trong CSV tuy nhiên với mã bên dưới tôi nhận được "danh sách chỉ mục nằm ngoài phạm vi". Tôi nghĩ bằng cách so sánh row[1]
với newrows[1]
Tôi sẽ tìm tất cả các bản sao và chỉ ghi lại các mục nhập duy nhất trong file2.csv
. Điều này không làm việc mặc dù và tôi không thể hiểu tại sao.
f1 = csv.reader(open('file1.csv', 'rb'))
newrows = []
for row in f1:
if row[1] not in newrows[1]:
newrows.append(row)
writer = csv.writer(open("file2.csv", "wb"))
writer.writerows(newrows)
kết quả cuối cùng của tôi là để có một danh sách duy trì chuỗi của tập tin (set
sẽ không hoạt động ... phải không?) Mà nên xem xét như thế này:
user, phone, email
joe, 123, [email protected]
mary, 456, [email protected]
Tôi nghĩ rằng một cơ sở dữ liệu sẽ thực sự hữu ích ở đây. Python hoạt động OOB với SQLite, bạn biết không? – NullUserException
khi một cái gì đó không hoạt động, bạn cần phải luôn luôn mô tả những gì đã xảy ra. Nó là một lỗi? là nó không có gì? nó có phải là điều sai trái? –
Tôi đã làm ... mã của tôi hiện đang tạo chỉ mục danh sách ngoài phạm vi. Điều này không có ý nghĩa vì nó đang tìm kiếm cột thứ hai với hàng [1]. – serk