[英]How to create new file from two other csv files?
我有兩個.csv文件。
第一:
上校 名稱: 'student_id'
和'mark'
第二:
上校 名稱: 'student_id'
, 'name'
, 'surname'
我想用'student_id'
, 'name'
, 'surname'
創建第三個.csv文件,其中row['mark'] == 'five'
或'four'
good_student=[]
for index, row in first_file.iterrows():
if row['mark'] == 'five':
good_student.append(row['studentId'])
elif row['mark'] == 'four':
good_student.append(row['studentId'])
for index, row in second_file.iterrows():
for i in good_student:
if row['studentId'] == i:
您可以將兩個csv作為數據幀讀取並加入它們。
import pandas as pd
df_1 = pd.read_csv("csv_1")
df_2 = pd.read_csv("csv_2")
df_1 = df_1.join(df_2)
df_1.to_csv("new_csv")
結果將是帶有附加列的csv文件。 如果csv_1的第1行和csv_2的第1行引用的是同一事物(人,對象,ad_id ...),則可以毫無問題地使用它。
編輯:如果兩個cvs都按student_id對行進行索引,那么最簡單的方法是在加載數據幀時包括taht:
import pandas as pd
df_1 = pd.read_csv("csv_1", index_col = "student_id")
df_2 = pd.read_csv("csv_2", index_col = "student_id")
df_1 = df_1.join(df_2)
df_1.to_csv("new_csv")
正如其他用戶所建議的,數據框是處理csv問題的可靠方法。 首先,我將使用read_csv
函數將兩個csv文件讀入數據幀。 然后,我將根據學生證加入兩者。 結果是一個數據框,其中包含如student_id,標記,名稱和姓氏的列。 任何缺失的值都是NaN(在處理缺失值時調用聯接的數據框很重要)。 然后,通過標記單元格中的值對合並的數據幀進行過濾。
import pandas as pd
df1 = pd.read_csv('one.csv') # student_id, mark
df2 = pd.read_csv('two.csv') # student_id, name, surname
df1 = df1.join(df2.set_index('student_id'), on='student_id')
df1 = df1.loc[(df1['mark'] == 'five') | (df1['mark'] == 'four')]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.