我有两个.csv文件。
第一页:
上校名称:'student_id'
和'mark'
第二:
上校名称:'student_id'
,'name'
,'surname'
我想用'student_id'
,'name'
,'surname'
(其中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:
答案 0 :(得分:0)
您可以将两个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 ...),则可以毫无问题地使用它。
编辑: 如果两个简历都按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")
答案 1 :(得分:0)
正如另一个用户建议的那样,数据框是处理csv问题的可靠方法。首先,我将使用read_csv
函数将两个csv文件读入数据帧。然后,我将根据学生证加入两者。结果是一个数据帧w
第ith列为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')]