[英]How to read and merge two CSV files
給定 2 個 csv 文件如下:
S.No, Fruit , Color , Requirement
1, Apple , Green , Not Required: in june
2, Grapes , Black , Required
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.