如何使用Python按列名提取电子表格指定列并排序生成目标表格
Python处理电子表格按列名提取并排序实现方案
依赖安装
首先安装表格处理所需的依赖库,执行以下命令:pip install pandas openpyxl
如果仅处理CSV格式文件,可以不用安装openpyxl
完整实现代码
import pandas as pd # 读取原始文件,Excel和CSV格式二选一即可 # 读取Excel文件(.xlsx/.xls) df = pd.read_excel("你的原始文件路径.xlsx") # 读取CSV文件替换为下面这行 # df = pd.read_csv("你的原始文件路径.csv") # 按指定顺序提取目标列,自动调整列位置,完全不依赖原始列索引 target_cols = ["Setting", "Distance", "Speed"] df_res = df[target_cols] # 按Setting列升序排序,同值行保留原始先后顺序 df_res = df_res.sort_values(by="Setting", ascending=True, ignore_index=True) # 导出结果,二选一即可 # 导出为Excel df_res.to_excel("处理后结果.xlsx", index=False) # 导出为CSV # df_res.to_csv("处理后结果.csv", index=False)
关键逻辑说明
- 直接通过列名列表提取数据,不管原始表格里这几列在什么位置,只要列名不变代码无需修改
- 提取列时传入的列表顺序就是最终表格的列顺序,默认把Setting放在最左侧
- 排序时
ignore_index=True会重置行号,避免排序后行号混乱 - 导出时
index=False表示不把pandas自动生成的行序号写入最终文件
注意事项
- 代码里的列名要和原始表格的列名完全一致,包括大小写、前后空格,否则会提示列不存在
- 如果原始Excel有多个工作表,读取时增加
sheet_name="你要处理的工作表名称"参数即可指定处理目标
内容的提问来源于stack exchange,提问作者ahahahahana
相关产品推荐
相关产品推荐

