簡體   English   中英

如何讀取和合並兩個 CSV 文件

[英]How to read and merge two CSV files

給定 2 個 csv 文件如下:

文件 1:

S.No,  Fruit , Color , Requirement
1,     Apple , Green , Not Required: in june
2,    Grapes , Black , Required

文件 2:

S.No,  Fruit ,  Color , Requirement
1,     Banana , Green , Not Required: in august
2,     Grapes , Black,  Required

我想合並這兩個文件並只獲得"Not required"列表。
我的 output 應該如下:

S.No, Fruit ,  Color , Requirement
1,    Apple ,  Green , Not Required: in june 
2,    Banana , Green , Not Required: in august

我已經嘗試了下面的代碼片段:

import csv
input_files = ['fruit1.csv', 'fruit2.csv']
output_file = 'output.csv'
with open('fruit1.csv', newline='') as f:
    reader = csv.reader(f)
    for row in reader:
        if "Not" in row[2]:
            print(row)

input_files= ['file1.csv', 'file2.csv']
output_file = 'output.csv'

with open('output.csv','w', newline='') as f:
    writer = csv.writer(f)
    writer.writerow(['S.No', 'Fruit', 'Color', 'Requirement'])
    for file in input_files:
        with open(file,'r', newline='') as f1:
            reader = csv.reader(f1)
            new_data = [row for row in reader if 'Not' in row[3]]
            writer.writerows( new_data)

with open('output.csv', newline='') as f:
    reader = csv.reader(f)
    for row in reader:
        print(row)

你可以試試這個。。

import csv

input_files= ['file_1.csv', 'file_2.csv']
output_file = 'output.csv'

for file in input_files:
    with open(file,'r', newline='') as f:
        reader = csv.reader(f)
        new_data = [row for row in reader if row != [] and 'Not' in row[3]]

with open(output_file,'w', newline='') as f:
    writer = csv.writer(f, delimiter=',')
    writer.writerow(['S.No', 'Fruit', 'Color', 'Requirement'])
    for index, row in enumerate(new_data):
        writer.writerow([index+1]+row[1:])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM