将一个 CSV 的行值映射到另一个 CSV 的 header 值并在 Python 中写入一个新的 CSV 文件

Mapping row values of one CSV to the header values of another CSV and writing a new CSV file in Python

import numpy as np
import pandas as pd
import csv

data=np.loadtxt(open("ff.csv","rb"),delimiter=",",dtype=np.str)
print(data)

data1=np.loadtxt(open("x.csv","rb"),delimiter=",",dtype=np.str)
print(data1)

for i in range(1,len(data)):
    
    for j in range(len(data1[0])):
        
        if data[i] == data1[0][j]:
            print(data[i],",",data1[0][j])
        
            column = pd.read_csv("x.csv",usecols=[data1[0][j]])
            print(column)

This is first csv data name is in row

here data is in columns

我想将行名与列名匹配,并根据与行的匹配将其保存到新的 csv 中

output what I want here

Pandas 在这里是一个有用的工具 - 您可以将列名称拉入列表,将该列表作为列的子集传递给您的第二个 sheet 数据,然后保存该数据框到一个新文件。

data=pd.read_csv("ff.csv", header = 0)

data1=pd.read_csv("x.csv", header = 0)

column_list = data['Name'].to_list()
column_list.append('class')

data1[column_list].to_csv("newfile.csv",index=False)