简体   繁体   中英

merge two csv file into one csv file using python script

I have two CSV files. The file1 has a header with only one record and file2 has a header and multiple records.

file1:

dept_id     dept_role   dept_name   dept_date        dept_ service
10           man        develop      10/5/2019 13:24    user
file2:
id      name    starttime       end time        user manufacturing
5487    abc     10/5/2019 14:24 10/5/2019 17:24 loc  king           
5896    egdt    10/5/2019 14:24 10/5/2019 17:24 rgf  king           
6305    abc     10/5/2019 14:24 10/5/2019 17:24 srf  king      
6714    egdt    10/5/2019 14:24 10/5/2019 17:24 sd   king   
7123    abc     10/5/2019 14:24 10/5/2019 17:24 loc  king   
7532    egdt    10/5/2019 14:24 10/5/2019 17:24 rgf  king   
7941    abc     10/5/2019 14:24 10/5/2019 17:24 srf  king   

expected output like below:

dept_id     dept_role   dept_name   dept_date        dept_ service  id      name    starttime       end time        user manufacturing
10           man        develop      10/5/2019 13:24    user        5487    abc     10/5/2019 14:24 10/5/2019 17:24 loc  king           
10           man        develop      10/5/2019 13:24    user        5896    egdt    10/5/2019 14:24 10/5/2019 17:24 rgf  king           
10           man        develop      10/5/2019 13:24    user        6305    abc     10/5/2019 14:24 10/5/2019 17:24 srf  king      
10           man        develop      10/5/2019 13:24    user        6714    egdt    10/5/2019 14:24 10/5/2019 17:24 sd   king   
10           man        develop      10/5/2019 13:24    user        7123    abc     10/5/2019 14:24 10/5/2019 17:24 loc  king   
10           man        develop      10/5/2019 13:24    user        7532    egdt    10/5/2019 14:24 10/5/2019 17:24 rgf  king   
10           man        develop      10/5/2019 13:24    user        7941    abc     10/5/2019 14:24 10/5/2019 17:24 srf  king

When i run the code below my columns are populated incorrectly - the last columns from files 1 and 2 are merged.

here i have addedd my script:

import os, sys, csv from itertools 
import product 
def main(): 
    with open('file1.csv', 'r') as f1, open('file2.csv', 'r') as f2: 
        reader1 = csv.reader(f1, dialect=csv.excel_tab) 
        reader2 = csv.reader(f2, dialect=csv.excel_tab) 
        header1, header2 = next(reader1),next(reader2) 
    with open('filen.csv', 'w',newline='\n') as out: 
       writer = csv.writer(out, dialect=csv.excel_tab) 
       writer.writerow(header1+ header2) 
       writer.writerows(row1 + row2 
    for row1, row2 in product(reader1,reader2))
main() 
print('file merge completed')

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM