Hướng dẫn python csv merge two files - python csv hợp nhất hai tệp

Ok tôi đã đọc một số chủ đề ở đây trên Stack Overflow. Tôi nghĩ rằng điều này sẽ khá dễ dàng đối với tôi nhưng tôi thấy rằng tôi vẫn không nắm bắt được Python rất tốt. Tôi đã thử ví dụ nằm ở cách kết hợp 2 tệp CSV với giá trị cột chung, nhưng cả hai tệp đều có số dòng khác nhau và điều đó rất hữu ích nhưng tôi vẫn không có kết quả mà tôi hy vọng sẽ đạt được.

Về cơ bản tôi có 2 tệp CSV với cột đầu tiên chung. Tôi muốn hợp nhất 2. tức là.

filea.csv

title,stage,jan,feb
darn,3.001,0.421,0.532
ok,2.829,1.036,0.751
three,1.115,1.146,2.921

fileb.csv

title,mar,apr,may,jun,
darn,0.631,1.321,0.951,1.751
ok,1.001,0.247,2.456,0.3216
three,0.285,1.283,0.924,956

output.csv (không phải cái tôi đang nhận được nhưng những gì tôi muốn)

title,stage,jan,feb,mar,apr,may,jun
darn,3.001,0.421,0.532,0.631,1.321,0.951,1.751
ok,2.829,1.036,0.751,1.001,0.247,2.456,0.3216
three,1.115,1.146,2.921,0.285,1.283,0.924,956

đầu ra.csv (đầu ra mà tôi thực sự có)

title,feb,may
ok,0.751,2.456
three,2.921,0.924
darn,0.532,0.951

Mã tôi đang thử:

'''
testing merging of 2 csv files
'''
import csv
import array
import os

with open('Z:\\Desktop\\test\\filea.csv') as f:
    r = csv.reader(f, delimiter=',')
    dict1 = {row[0]: row[3] for row in r}

with open('Z:\\Desktop\\test\\fileb.csv') as f:
    r = csv.reader(f, delimiter=',')
    #dict2 = {row[0]: row[3] for row in r}
    dict2 = {row[0:3] for row in r}

print str(dict1)
print str(dict2)

keys = set(dict1.keys() + dict2.keys())
with open('Z:\\Desktop\\test\\output.csv', 'wb') as f:
    w = csv.writer(f, delimiter=',')
    w.writerows([[key, dict1.get(key, "''"), dict2.get(key, "''")] for key in keys])

Bất kỳ trợ giúp nào cũng được đánh giá rất cao.


Để hợp nhất tất cả các tệp CSV, sử dụng mô -đun GLOB. Phương thức OS.Path.join () được sử dụng bên trong Concat () để hợp nhất các tệp CSV lại với nhau.

Lúc đầu, nhập các thư viện cần thiết. Chúng tôi đã đặt PD làm bí danh cho thư viện Pandas -

import pandas as pd
import glob
import os

Bây giờ, hãy để nói rằng chúng tôi có 3 tệp CSV sau -

Sales1.csv

Hướng dẫn python csv merge two files - python csv hợp nhất hai tệp

Sales2.csv

Hướng dẫn python csv merge two files - python csv hợp nhất hai tệp

Sales3.csv

Hướng dẫn python csv merge two files - python csv hợp nhất hai tệp

Lúc đầu, đặt đường dẫn để tham gia nhiều tệp. Chúng tôi có tất cả các tệp CSV sẽ được hợp nhất trên máy tính để bàn -

files = os.path.join("C:\Users\amit_\Desktop\", "sales*.csv")

Tiếp theo, sử dụng GLOB để trả về danh sách các tệp được hợp nhất -

files = glob.glob(files)

Thí dụ

Sau đây là mã -

________số 8

Đầu ra

Điều này sẽ tạo ra những điều sau -

Resultant CSV after joining all CSV files at a particular location...
           Car      Place   UnitsSold
0         Audi  Bangalore          80
1      Porsche     Mumbai         110
2   RollsRoyce       Pune         100
3          BMW      Delhi          95
4     Mercedes  Hyderabad          80
5  Lamborghini Chandigarh          80
6        Volvo  Rajasthan         150
7      Hyundai    Manipur         120
8       Toyota         HP          70

Hướng dẫn python csv merge two files - python csv hợp nhất hai tệp

Cập nhật vào ngày 04 tháng 10 năm 2021 07:12:14

  • Câu hỏi và câu trả lời liên quan
  • Làm thế nào để hợp nhất nhiều tệp CSV thành một DataFrame Pandas?
  • Python - Đọc tất cả các tệp CSV trong một thư mục trong gấu trúc?
  • Python - Cách viết Pandas DataFrame vào tệp CSV
  • Viết một tệp dữ liệu gấu trúc vào tệp CSV
  • Python - hợp nhất hai gấu trúc DataFrame
  • Python Pandas- Tạo nhiều tệp CSV từ tệp CSV hiện có
  • Python - Cách hợp nhất tất cả các tệp Excel trong thư mục
  • Làm thế nào để hợp nhất nhiều tệp vào một tệp mới bằng Python?
  • Làm thế nào để xử lý các tệp CSV lớn với gấu trúc?
  • Làm thế nào để đọc tất cả các tệp Excel trong một thư mục dưới dạng gấu trúc DataFrame?
  • Python - hợp nhất DataFrame với tham gia bên ngoài
  • Python - hợp nhất DataFrame với tham gia bên trong
  • Python Pandas - Merge DataFrame với giá trị chỉ báo
  • Hợp nhất gấu trúc DataFrame với một cột chung
  • Python - Merge Pandas DataFrame với tham gia bên ngoài bên phải