500多个单元格参考和120个工作簿

2024-09-29 01:22:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我有120个不同的Excel原始数据文件,从这些文件中,我需要从大约500个(可能更多)不同的单元格中提取数据,并在一个概述工作簿中以表格格式显示。最有效的方法是什么?你知道吗

每个工作簿的布局都是相同的,因此我已开始将新的概览表链接到第一个数据文件中的单元格,并计划使用“查找和替换”来更改引用其他数据文件的路径。至少可以说是很辛苦的!你知道吗

我也在学习Python,所以我非常欢迎基于Python的解决方案,或者几乎所有的解决方案!你知道吗

谢谢你


Tags: 文件数据方法路径原始数据链接数据文件格式
1条回答
网友
1楼 · 发布于 2024-09-29 01:22:04

Python提供了许多模块。我建议使用openpyxl模块。你可以看看here。如果我理解正确,您需要合并多个excel电子表格。我的方法是为所有excel电子表格中的每一行添加一行到新的电子表格中。为此,我编写了一个简单的程序:

import openpyxl
import os
from os.path import join
spreadsheet = openpyxl.Workbook()
final_sheet = spreadsheet.get_sheet_by_name('sheet1')
x = 0
for(dir, dirs, files) in os.walk('C:\Users\Cheyn Shmuel\Documents'):
        for file in files:
            filename = join(dir, file)
            try:
                workbook = openpyxl.load_workbook(filename)
            except: 
                continue # in case there are files that aren't excel in that directory
            for s in workbook.get_sheet_names():
                sheet = workbook.get_sheet_by_name(s)
                for row in sheet.rows:
                    for cell in row:
                        try:
                            final_sheet[cell.coordinate[0] + str(int(cell.coordinate[1:]) + x)] = cell.value
                        except:
                            final_sheet[cell.coordinate[:1] + str(int(cell.coordinate[2:]) + x)] = cell.value
                x += sheet.get_highest_row()

spreadsheet.save('your file.xlsx')

这个程序将遍历目录中的所有excel文件,并将它们放入新的电子表格中,然后再放入下一个,依此类推。你知道吗

相关问题 更多 >