鱼C论坛

 找回密码
 立即注册
查看: 3158|回复: 11

新人求助,筛选出来的表没有标题?

[复制链接]
发表于 2023-6-2 17:51:21 | 显示全部楼层
kyimao 发表于 2023-6-2 17:47
报错,这样也试过,将第一行保留,会因为筛选出来的数据找不到对应的列保存,KeyError: " ['序号', '户主 ...

根据错误提示,筛选出来的数据找不到对应的列保存,这是因为原始表格中可能存在其他列,而在筛选后的数据中并不存在这些列名,导致保存时出现了 KeyError 错误。你可以在筛选前,先将原始表格的列名保存下来,然后将该列表作为保留指定列的参数,这样就不会漏掉其他列了。修改后的代码如下所示:

  1. import os
  2. import pandas as pd

  3. # 原始表格文件夹路径
  4. input_folder = r'G:\2023\777'

  5. # 保存新表格的文件夹路径
  6. output_folder = r'G:\2023\555'

  7. # 获取原始表格文件列表
  8. input_files = os.listdir(input_folder)

  9. for file in input_files:
  10.     if file.endswith('.xls'):
  11.         # 构建原始表格文件的完整路径
  12.         file_path = os.path.join(input_folder, file)
  13.         
  14.         # 读取原始表格数据,保留第一行作为标题行
  15.         df = pd.read_excel(file_path, header=0)
  16.         
  17.         # 保存原始表格的列名
  18.         columns_to_keep = df.columns.tolist()
  19.         
  20.         # 筛选出xx社区
  21.         filtered_df = df[df.iloc[:, 6] == 'xx社区']
  22.         
  23.         # 重新排列序号列
  24.         filtered_df.loc[:, '序号'] = range(1, len(filtered_df) + 1)
  25.         
  26.         # 保留原始表格的列名
  27.         filtered_df = filtered_df[columns_to_keep]
  28.         
  29.         # 保留指定列
  30.         columns_to_keep = ['序号', '户主姓名', 'xx社区','金额合计']
  31.         filtered_df = filtered_df[columns_to_keep]
  32.         
  33.         # 创建新表格的文件名
  34.         output_file = os.path.join(output_folder, os.path.splitext(file)[0] + '.xlsx')
  35.         
  36.         # 保存新表格,加上标题行
  37.         with pd.ExcelWriter(output_file) as writer:
  38.             df.to_excel(writer, sheet_name='Sheet1', index=False)
  39.             filtered_df.to_excel(writer, sheet_name='Sheet1', index=False, startrow=1)
复制代码

这样就可以同时保留原表标题,并成功生成新表格了。
(我是他小号,但是他每小时限额到了,我帮忙)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-6-2 17:56:50 | 显示全部楼层
sfqxx 发表于 2023-6-2 17:53
可以在读取原表数据时,将第一行作为表头(header)保存下来,然后在生成新表格时添加回去。

修改代码如下 ...

小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-6-2 18:50:42 | 显示全部楼层
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-10-8 04:37

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表