Hướng dẫn compare two csv files and remove duplicates python - so sánh hai tệp csv và xóa bản sao python

Sử dụng một bộ không tốt trừ khi bạn thực sự muốn giữ một dòng duy nhất với các giá trị định kỳ không chỉ giữ các dòng duy nhất, bạn cần tìm các giá trị duy nhất nhìn qua tất cả các tệp trước tiên mà Counter dict sẽ làm:

with open["test.csv", encoding="utf-8"] as f, open["file_out.csv", "w"] as out:
    from collections import Counter
    from csv import reader, writer
    wr = writer[out]
    header = next[f] # get header
    # get count of each first/last name pair lowering each string
    counts = Counter[[a.lower[], b.lower[]] for a, b, *_ in reader[f]]
    f.seek[0] # reset counter 
    out.write[next[f]]  # write header ?
    # iterate over the file again, only keeping rows which have
    # unique first and second names
    wr.writerows[row for row in reader[f]
                   if counts[row[0].lower[],row[1].lower[]] == 1]

Input:

FirstName,LastName,id,id2,id3
John,Doe,123,432,645
Jacob,Smith,456,372,383
Susy,Saucy,9999,12,8r83
Contractor,#1,8dh,28j,153s
Testing2,Contrator,7463,99999,0283
JOHN,DOE,999,888,999
SUSY,SAUCY,8373,08j,9023

file_out:

FirstName,LastName,id,id2,id3
Jacob,Smith,456,372,383
Contractor,#1,8dh,28j,153s
Testing2,Contrator,7463,99999,0283

FirstName,LastName,id,id2,id3
John,Doe,123,432,645
Jacob,Smith,456,372,383
Susy,Saucy,9999,12,8r83
Contractor,#1,8dh,28j,153s
Testing2,Contrator,7463,99999,0283
JOHN,DOE,999,888,999
SUSY,SAUCY,8373,08j,9023
0 tính số lần mỗi tên xuất hiện sau khi được hạ xuống. Sau đó, chúng tôi đặt lại con trỏ và chỉ viết các dòng có hai giá trị cột đầu tiên chỉ được nhìn thấy một lần trong toàn bộ tệp.

Hoặc không có mô -đun CSV có thể nhanh hơn nếu bạn có cột Namy:

with open["test.csv"] as f, open["file_out.csv","w"] as out:
    from collections import Counter
    header = next[f] # get header
    next[f] # skip blank line
    counts = Counter[tuple[map[str.lower,line.split[",", 2][:2]]] for line in f]
    f.seek[0] # back to start of file
    next[f], next[f] # skip again
    out.write[header] # write original header ?
    out.writelines[line for line in  f
                   if counts[map[str.lower,line.split[",", 2][:2]]] == 1]

Bước 2: Đọc các tệp CSV. Bước thứ hai là đọc các tệp CSV đã tạo. ....how to compare two CSV files in python using pandas using various methods.

Trong phần này, bạn sẽ biết tất cả các bước cần thiết để so sánh hai tệp CSV trong Python bằng Pandas. Chỉ cần làm theo tất cả các bước để hiểu rõ hơn.

Bước 1: Tạo tệp CSVS mẫu

Bước đầu tiên là tạo các tệp CSV mẫu cho phương thức. Đầu tiên tôi sẽ tạo hai khung dữ liệu mẫu và sau đó xuất mỗi DataFrame sang tệp CSV. Nó sẽ sử dụng để đọc tệp CSV và so sánh chúng.

Thực hiện các dòng mã bên dưới để tạo hai tệp CSVS mẫu.

import pandas as pd
data1 = {"country":["India","USA","UK","Germany"],"dial_code":[91,1,44,49]}
df1 = pd.DataFrame[data1]
df1.to_csv["data1.csv",index=None]
data2 = {"country":["India","USA","UK","Germany","Australia","China"],"dial_code":[91,1,44,49,61,86]}
df2 = pd.DataFrame[data2]
df2.to_csv["data2.csv",index=None]
print[df1,"\n"]
print[df2]

Đầu ra

SPREAMFRAME CREATION để so sánh giữa chúng

Bước 2: Đọc & NBSP; Các tập tin CSV

Bước thứ hai là đọc các tệp CSV đã tạo. Bạn có thể đọc tệp CSV bằng phương thức pandas read_csv []. Chỉ cần chuyển tên tệp của tệp CSV. Nó sẽ chuyển đổi dữ liệu tệp CSV thành DataFrame để thao tác.

Chạy các dòng mã bên dưới để đọc các tệp CSV của bạn.

import pandas as pd
df1 = pd.read_csv["data1.csv"]
df2 = pd.read_csv["data2.csv"]
print[df1,"\n"]
print[df2,"\n"]

Đầu ra

  country  dial_code
0    India         91
1      USA          1
2       UK         44
3  Germany         49 

     country  dial_code
0      India         91
1        USA          1
2         UK         44
3    Germany         49
4  Australia         61
5      China         86 

Bước 3: Thực hiện phương pháp để so sánh hai tệp CSV trong Python bằng Pandas

Bây giờ các tệp CSV đã được đọc. Hãy để so sánh cả hai tệp. Bạn sẽ tìm hiểu các phương pháp khác nhau để so sánh với các tệp CSV trong Python.

Phương pháp 1: Sử dụng phương thức isin []

Gói Pandas có hàm isin [] cho phép bạn kiểm tra xem có bản ghi trong cả hai tệp CSV hay không. Nếu nó tìm thấy sau đó trả về true khác trả về sai. Sau đó, chúng ta có thể nhận được các giá trị bằng cách sử dụng DF [Hồi Boolean_result,]. df[“boolean_result”].

Thực hiện các dòng mã bên dưới để so sánh hai tệp CSV.

# method 1 isin[] metthod
import pandas as pd
df1 = pd.read_csv["data1.csv"]
df2 = pd.read_csv["data2.csv"]
c_result = df1[df1.apply[tuple,1].isin[df2.apply[tuple,1]]]
print[c_result]

Đầu ra

So sánh hai tệp CSV bằng phương thức isin []

Ở đây tôi cũng đang sử dụng phương thức application [] để so sánh từng bản ghi hàng với mỗi tệp CSV.

Phương pháp 2: So sánh các tệp CSV bằng phương thức Merge []

Pandas cũng có một hàm hợp nhất [] hữu ích trong việc so sánh hai tệp CSV. Nó thực hiện tham gia bên trong, tham gia bên ngoài hoặc cả hai tham gia trên các cột. Bạn chỉ cần vượt qua các khung dữ liệu bạn muốn so sánh dưới dạng danh sách bên trong phương thức hợp nhất []. Hàm sẽ so sánh và trả về DataFrame.

Chạy các dòng mã bên dưới để so sánh các tệp CSV.

# method 2 merge[] method
import pandas as pd
df1 = pd.read_csv["data1.csv"]
df2 = pd.read_csv["data2.csv"]
c_result_m = pd.merge[df1,df2]
print[c_result_m]

Đầu ra

So sánh hai tệp CSV bằng phương thức Merge []

Sự kết luận

Pandas là gói Python tốt nhất để thao tác các bộ dữ liệu lớn. Nếu bạn có các tệp CSV thì bạn có thể so sánh chúng bằng các phương thức trên.

Tôi hy vọng bạn đã thích hướng dẫn này. Nếu bạn có bất kỳ đề xuất hoặc muốn bao gồm một số phương thức trong hướng dẫn này thì bạn có thể liên hệ với chúng tôi để biết thêm thông tin.

Tham gia danh sách của chúng tôi

Đăng ký danh sách gửi thư của chúng tôi và nhận được những thứ thú vị và cập nhật vào hộp thư đến email của bạn.

Chúng tôi tôn trọng quyền riêng tư của bạn và coi trọng việc bảo vệ nó

Cảm ơn bạn đã đăng ký. Một email xác nhận đã được gửi đến địa chỉ email của bạn.

Có gì đó đã sai.

Làm cách nào để so sánh hai tệp CSV trong Python?

Các bước để so sánh hai tệp CSV trong Python..
Bước 1: Tạo tệp CSVS mẫu. Bước đầu tiên là tạo các tệp CSV mẫu cho phương thức. ....
Bước 2: Đọc các tệp CSV. Bước thứ hai là đọc các tệp CSV đã tạo. ....
Bước 3: Triển khai phương thức để so sánh hai tệp CSV trong Python bằng Pandas ..

Làm cách nào để so sánh nội dung của hai tệp CSV?

Nhấp vào nút "So sánh" để so sánh các tệp CSV của bạn!Bạn có thể chọn chỉ hiển thị các hàng có sự khác biệt hoặc để hiển thị tất cả [với mã màu để trực quan hóa sự khác biệt].! You can choose to display only the rows with differences or to display them all [With a color code to visualize the differences].

Làm cách nào để hợp nhất hai tệp CSV để xóa bản sao?

Đảm bảo rằng các mục mới sẽ luôn là một vài dòng đầu tiên ở đầu tệp CSV đầu tiên ...
Sử dụng CAT -N để kết hợp các tệp đầu vào và các số dòng tiền ..
Sử dụng Sắp xếp -U Xóa dữ liệu trùng lặp ..
Sử dụng Sắp xếp -N để sắp xếp lại theo số được chuẩn bị ..
Sử dụng Cắt để xóa đánh số dòng ..

Làm thế nào loại bỏ các bản sao CSV gấu trúc?

Phương thức pandas drop_duplicates [] giúp loại bỏ các bản sao khỏi khung dữ liệu gấu trúc trong Python ...
Tập hợp con: Tập hợp con lấy một cột hoặc danh sách nhãn cột.....
Giữ: Giữ là kiểm soát cách xem xét giá trị trùng lặp ..

Chủ Đề