如何将Excel首行表头转换为值全为1的字典?
解决方案
直接用下面的代码就行,这个方案能自动适配任意数量的列,只会排除名为Matrix的列:
import pandas as pd # 只读取Excel的表头行(不用加载全量数据,效率更高) df = pd.read_excel("Test.xlsx", nrows=0) # 过滤掉'Matrix'列,保留其余列名 target_cols = [col for col in df.columns if col != 'Matrix'] # 生成每个列名对应值为1的字典 result = {col: 1 for col in target_cols} print(result)
你之前的代码为啥没效果?
你写的pd.read_excel("Test.xlsx", index_col=0).to_dict('index')是把Excel里的每行数据转成以索引为键的字典,和提取表头列名完全不是一个逻辑,自然得不到你想要的结果。
补充说明
不管以后新增多少列,只要列名不是Matrix,都会自动被加入字典中,值固定为1,完全适配你的需求。
内容的提问来源于stack exchange,提问作者Pratzy30
相关产品推荐
相关产品推荐

