用Python批量提取多个工作簿中同名工作表的特定数据
时间: 2024-04-21 18:22:52 浏览: 65
可以使用Python的openpyxl库来实现批量提取多个工作簿中同名工作表的特定数据。下面是一个示例代码:
```python
import os
from openpyxl import load_workbook
def extract_data_from_workbooks(folder_path, sheet_name, data_range):
data = []
for filename in os.listdir(folder_path):
if filename.endswith(".xlsx") or filename.endswith(".xls"):
workbook_path = os.path.join(folder_path, filename)
workbook = load_workbook(workbook_path)
if sheet_name in workbook.sheetnames:
sheet = workbook[sheet_name]
for row in sheet[data_range]:
row_data = [cell.value for cell in row]
data.append(row_data)
workbook.close()
return data
# 示例用法
folder_path = "工作簿文件夹路径"
sheet_name = "目标工作表名称"
data_range = "A1:C10" # 例如提取 A1 到 C10 的数据
data = extract_data_from_workbooks(folder_path, sheet_name, data_range)
print(data)
```
在示例代码中,`extract_data_from_workbooks` 函数接收一个文件夹路径 `folder_path`,一个目标工作表名称 `sheet_name` 和一个数据范围 `data_range`。它遍历文件夹中的所有xlsx和xls文件,打开每个工作簿并提取目标工作表中指定范围的数据。最后,返回一个包含所有提取数据的列表。
你需要将代码中的`folder_path`修改为你实际的工作簿文件夹路径,`sheet_name`修改为你要提取数据的目标工作表名称,`data_range`修改为你要提取的数据范围。运行代码后,提取到的数据将会打印出来。
阅读全文