簡體   English   中英

如何從其他兩個csv文件創建新文件?

[英]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.

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