帮我写一份可以从directory中按文件名开头所含数字顺序获取多个含有六个工作表的excel文件中特定工作表特定格子数据的Python代码
时间: 2024-10-17 10:05:12 浏览: 35
python 将目录中所有excel合并到一个excel中 openpyxl 复制sheet工作表到另一个工作簿
当然可以,为了实现这个功能,我们可以使用`pandas`库来读取Excel文件,并利用`glob`模块来遍历目录中的文件。这里是一个简单的示例代码:
```python
import pandas as pd
import glob
# 定义函数来处理单个Excel文件并提取指定工作表的数据
def read_excel_sheet(file_path, sheet_name, cell_range):
excel = pd.ExcelFile(file_path)
data = excel.parse(sheet_name, usecols=cell_range) # 提取指定列范围的数据
return data
# 定义目录路径和需要匹配的前缀以及工作表名称和格子范围
dir_path = 'your_directory_path' # 替换为实际目录路径
file_prefix = '数字前缀' # 按照数字开头搜索,例如"01_data", "02_data"
sheet_name = 'Sheet1' # 具体的工作表名称
cell_range = 'A1:C10' # 需要提取的具体单元格范围
# 使用正则表达式找到所有符合条件的文件
files = [f for f in glob.glob(f'{dir_path}/*{file_prefix}*.xlsx')]
# 对每个文件,按照文件名中的数字排序
sorted_files = sorted(files, key=lambda x: int(x.split('_')[1].split('.')[0]))
# 遍历排序后的文件,依次读取数据并保存到一个列表中
data_list = []
for file in sorted_files:
try:
data = read_excel_sheet(file, sheet_name, cell_range)
data_list.append(data)
except FileNotFoundError:
print(f"无法打开文件 {file}")
# 最终的数据将存储在data_list里
```
**
阅读全文