You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Python代码从多Excel文件指定工作表提取数据

解决方案:直接读取指定工作表提取数据

针对你的需求,下面提供两种简单易行的代码修改方案,无需手动设置活动工作表,直接从Sheet2提取目标单元格数据,适合科研场景批量处理Excel文件。

方法1:使用pandas(推荐,代码简洁高效)

pandas是处理表格数据的常用库,批量读取Excel非常方便,支持.xls和.xlsx格式:

import pandas as pd
import os

# 存储所有文件的提取数据
data_list = []
# 替换为你的Excel文件所在文件夹路径
target_folder = "你的Excel文件文件夹路径"

# 遍历文件夹下所有Excel文件
for file_name in os.listdir(target_folder):
    if file_name.endswith((".xlsx", ".xls")):
        file_path = os.path.join(target_folder, file_name)
        # 直接指定读取Sheet2,header=None表示不把第一行当作表头
        sheet_data = pd.read_excel(file_path, sheet_name="Sheet2", header=None)
        # 提取A2、B2、C2:pandas索引从0开始,行1对应第2行,列0/1/2对应A/B/C列
        a2_value = sheet_data.iloc[1, 0]
        b2_value = sheet_data.iloc[1, 1]
        c2_value = sheet_data.iloc[1, 2]
        # 把文件名和提取的数据存入列表,方便后续溯源
        data_list.append({
            "文件名": file_name,
            "A2数据": a2_value,
            "B2数据": b2_value,
            "C2数据": c2_value
        })

# 将汇总数据保存为新Excel文件
summary_df = pd.DataFrame(data_list)
summary_df.to_excel("生物数据汇总.xlsx", index=False)

关键说明:

  • sheet_name="Sheet2":直接指定要读取的工作表,完全不需要管原文件的活动表是什么
  • iloc[1, 0]:精准定位单元格,1对应第2行,0对应第1列(即A列),逻辑直观

方法2:使用openpyxl(适合精细操作Excel)

如果需要更细致地控制Excel单元格,比如读取公式计算后的结果,用openpyxl更合适(仅支持.xlsx格式):

from openpyxl import load_workbook, Workbook
import os

data_list = []
target_folder = "你的Excel文件文件夹路径"

for file_name in os.listdir(target_folder):
    if file_name.endswith(".xlsx"):
        file_path = os.path.join(target_folder, file_name)
        # 加载工作簿,data_only=True表示读取单元格的计算结果而非公式
        workbook = load_workbook(file_path, data_only=True)
        # 直接获取Sheet2工作表
        sheet = workbook["Sheet2"]
        # 直接通过单元格坐标读取数据,和Excel操作逻辑完全一致
        a2_value = sheet["A2"].value
        b2_value = sheet["B2"].value
        c2_value = sheet["C2"].value
        data_list.append({
            "文件名": file_name,
            "A2数据": a2_value,
            "B2数据": b2_value,
            "C2数据": c2_value
        })

# 创建并保存汇总文件
summary_workbook = Workbook()
summary_sheet = summary_workbook.active
# 写入表头
summary_sheet.append(["文件名", "A2数据", "B2数据", "C2数据"])
# 写入提取的所有数据
for row_data in data_list:
    summary_sheet.append([
        row_data["文件名"],
        row_data["A2数据"],
        row_data["B2数据"],
        row_data["C2数据"]
    ])
summary_workbook.save("生物数据汇总.xlsx")

新手注意事项:

  1. 先安装依赖库:在命令行执行pip install pandas openpyxl
  2. 替换代码中的"你的Excel文件文件夹路径"为实际路径(Windows用C:/xxx/xxx,Mac/Linux用/Users/xxx/xxx)
  3. 如果你的文件是.xls格式,优先用pandas方案

内容的提问来源于stack exchange,提问作者danchester82

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 20:12:36