如何使用Python头将多个数组放入一个csv文件

如何使用Python头将多个数组放入一个csv文件,python,pandas,numpy,csv,Python,Pandas,Numpy,Csv,我有这样的列表,我是从xlsx文件加载的 import pandas as pd travel_df = pd.read_excel('./item.xlsx') data = travel_df.to_dict('records') 数据如下所示 data = [ { 'cat': 'A', 'subCat': 'a1', }, { 'cat': 'A', 'subCat': 'a2', },

我有这样的列表,我是从
xlsx
文件加载的

import pandas as pd
travel_df = pd.read_excel('./item.xlsx')
data = travel_df.to_dict('records')
数据
如下所示

data = 
[
    {
        'cat': 'A',
        'subCat': 'a1',
    },
    {
        'cat': 'A',
        'subCat': 'a2',
    },
    {
        'cat': 'B',
        'subCat': 'b1',
    },
    {
        'cat': 'B',
        'subCat': 'b2',
    },
    {
        'cat': 'B',
        'subCat': 'b3',
    },
]
我想像这样把它放到
CSV
文件中,最好最快的方法是什么

A     B
--------
a1    b1
a2    b2
      b3

您可以通过
DataFrame()
方法、
pivot()
方法和
apply()
方法执行此操作:

newdf=pd.DataFrame(data).pivot(columns='cat',values='subCat').apply(lambda x:sorted(x,key=pd.isna))
最后过滤掉NaN的:

newdf=newdf[~newdf.isna().all(1)]
newdf的输出

cat   A     B
0     a1    b1
1     a2    b2
2     NaN   b3

现在,如果您想将其保存在csv文件中,请使用
to_csv()
方法

如何避免重复记录?只需使用
drop_duplicates()
方法,即:
newdf=newdf.drop_duplicates()