写一串代码让他从一个含有多个Excel文件的directory中 按Excel文件名中包含的数字顺序从每一个excel文件内的同名工作组获取一个单元格的数据并输出成列表
时间: 2024-10-16 12:22:32 浏览: 24
python 将目录中所有excel合并到一个excel中 openpyxl 复制sheet工作表到另一个工作簿
为了实现这个功能,你可以使用pandas库,它对Excel文件处理非常方便。首先,需要安装pandas和openpyxl,如果还没安装可以使用pip安装:
```bash
pip install pandas openpyxl
```
接下来,这里是一个Python代码示例,假设目录结构如下,`file_01.xlsx`, `file_02.xlsx`, ..., `file_n.xlsx`,并且所有文件都有相同的同名工作表,并且你想提取的工作表名字为"Sheet1",我们要按序读取每个文件并获取指定单元格数据(例如A1单元格):
```python
import os
import pandas as pd
# 设定目录路径
dir_path = 'your_directory_path' # 替换为实际的目录路径
# 确保目录存在
if not os.path.exists(dir_path):
print("Directory not found.")
exit()
# 获取目录下所有Excel文件列表
excel_files = [f for f in os.listdir(dir_path) if f.endswith('.xlsx') or f.endswith('.xls')]
# 创建空列表存放数据
data_list = []
# 遍历文件,按照名称排序并提取数据
for file_name in sorted(excel_files, key=lambda x: int(''.join(filter(str.isdigit, x)))):
try:
# 加载Excel文件到DataFrame
excel_file = pd.read_excel(os.path.join(dir_path, file_name))
# 提取特定工作表并获取A1单元格的数据
data = excel_file['Sheet1'].iloc[0, 0]
# 将数据添加到列表中
data_list.append(data)
except FileNotFoundError:
print(f"{file_name} not found.")
except Exception as e:
print(f"Error reading {file_name}: {e}")
# 输出结果
print("Data from each Excel file in order:")
print(data_list)
阅读全文