批量提取多个excel文件指定单元格内容,并汇总到一个新excel文件里生产office公式,并写成.bat文件
时间: 2024-11-09 20:25:06 浏览: 76
批量提取Excel文件中的特定单元格数据并汇总到一个新的Excel文件中,可以使用Python的pandas库结合os模块来实现,因为pandas非常适合处理表格数据。首先,你需要安装`openpyxl`和`pandas`库,如果还没有的话:
```bash
pip install pandas openpyxl
```
下面是一个简单的步骤描述和bat批处理文件示例:
1. 创建一个Python脚本,比如叫`extract_data.py`,内容如下:
```python
import os
import pandas as pd
# 定义输入文件夹路径、需要提取的列名和目标行数(如果有)
input_folder = "path_to_your_input_folder"
column_name = 'A1:C1' # 示例,替换为你需要的单元格范围
output_file = 'output.xlsx'
def extract_data(file_path):
df = pd.read_excel(file_path)
data = df.eval(column_name) # 提取数据
return data
# 遍历文件夹,提取每个Excel文件的内容
data_list = []
for filename in os.listdir(input_folder):
if filename.endswith('.xlsx'):
file_path = os.path.join(input_folder, filename)
extracted_data = extract_data(file_path)
data_list.append(extracted_data)
# 汇总所有数据到一个DataFrame
total_data = pd.concat(data_list, ignore_index=True)
# 写入新的Excel文件
total_data.to_excel(output_file, index=False)
print(f"数据已成功写入{output_file}")
```
将上述代码保存后,记得将`path_to_your_input_folder`替换为实际的文件夹路径。
2. 创建一个bat批处理文件(假设名为`batch_extract.bat`),用于调用Python脚本:
```bat
@echo off
setlocal enabledelayedexpansion
set INPUT_FOLDER=C:\Your\Input\Folder
set OUTPUT_FILE=C:\Your\Output\ExtractedData.xlsx
python %~dp0extract_data.py %INPUT_FOLDER% %OUTPUT_FILE%
pause
```
这里也请替换`C:\Your\Input\Folder`和`C:\Your\Output\ExtractedData.xlsx`为你所需的输入和输出文件位置。
运行这个bat文件,它会提取指定的Excel文件并汇总结果到一个新的Excel文件中。
阅读全文