pandas Excel文件接收相同的内容,但不同的标题字段

y0u0uwnf  于 2023-11-15  发布在  其他
关注(0)|答案(1)|浏览(115)

我的客户给我发了一个数据materialsheet.xlsx,它有N行和N列,但具体来说,我只需要12列。
他第一次发送Materialsheet.xlsx
| 材料|长Des| Ref|
| --|--|--|
| 11000021 |Pandas玩具|棉花玩具|
| 11100212 |小Pandas玩具|塑料玩具|
第二次他发送了Materialsheet.xlsx
| 内部|描述|位置|
| --|--|--|
| 11000021 |Pandas玩具|棉花玩具|
| 11100212 |小Pandas玩具|塑料玩具|
我的代码:

ds1 = pd.read_excel('Materialsheet.xlsx', usecols=['Material', 'Group', 'Priority', 'Long Des', 'Ref', 'Qty','Shape'],index_col=False) 

   ds1 = ds1[['Material', 'Group','Priority','Long Des','Qty','Shape','Ref']]

   print(ds1)

字符串

ds = pd.read_excel('Materialsheet.xlsx', usecols=['Internal', 'Alter.Group', 'Priority', 'Describe', 'Location', 'Qty','image'],index_col=False)


`我总是更改我的excel标题或代码行以获取输出
我需要一个代码,为这个头字段我头字段名称更改。
1.如果列名“A”(材料)变更为“C”(PN)
1.如果列名“B”(内部)更改为“C”(PN)
这可能需要支持。

0yg35tkg

0yg35tkg1#

使用.rename()方法:

ds1.rename(columns={'material': 'PN'} inplace=True)
ds.rename(columns={'Internal': 'PN'}, inpalce=True)

字符串
您也可以编写自定义函数,以始终更改列名,无论您使用的是哪个文件:

def rename_column(df):
    columns_list = list(df.column)
    if 'material' in column_list:
        df.rename(columns={'material': 'PN'}, inplace=True)
    elif 'Internal' in column_list:
        df.rename(columns={'Internal': 'PN'}, inplace=True)
    return df

相关问题