如何从其他两个csv文件创建新文件?

时间:2019-02-19 19:05:27

标签: python pandas csv

我有两个.csv文件。

第一页:
上校名称:'student_id''mark'

第二:
上校名称:'student_id''name''surname'

我想用'student_id''name''surname'(其中row['mark'] == 'five''four'

创建第三个.csv文件)
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:

2 个答案:

答案 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')]