Python读取Excel数据并写入指定单元格 - SEO优化版
Python自动化Excel数据处理: 读取、删除、写入
本文将为您提供一个使用Python处理Excel数据的实用案例,帮助您快速掌握如何使用openpyxl库实现自动化操作。
需求:
- 打开一个
.xls格式的Excel文件2. 删除文件中的第1行到第8行3. 找到F列最后一个非空单元格的行号,并将其赋值给变量i4. 读取F列所有单元格的值,并将这些值存储到一个数组中5. 关闭Excel文件6. 打开Excel文件中的'项目-数据源'工作表7. 将数组中的值写入到'项目-数据源'工作表的N9单元格开始的连续单元格中8. 弹出提示信息'已成功读取数据'
**Python代码实现:**pythonimport openpyxlfrom tkinter import filedialogfrom tkinter import Tk
创建Tkinter窗口,用于显示文件选择对话框root = Tk()root.withdraw()
打开对话框选择需要打开的Excel文件file_path = filedialog.askopenfilename(filetypes=[('Excel Files', '*.xls')])
if file_path: # 打开Excel文件 wb = openpyxl.load_workbook(file_path) ws = wb.active # 删除第一行到第八行 ws.delete_rows(1, 8) # 获取F列的最后一行非空行行号 last_row = ws.max_row i = last_row # 将F列的所有单元格内容值写入数组 data_arr = [ws.cell(row=row, column=6).value for row in range(1, last_row+1)] # 不需要关闭文件,可以直接操作其他工作表 # wb.close() # 激活'项目-数据源'页面 ws = wb['项目-数据源'] # 将数组的值写入到N9单元格 for idx, val in enumerate(data_arr): ws.cell(row=9+idx, column=14).value = val # 保存修改并关闭Excel文件 wb.save(file_path) wb.close() # 弹出消息提示框 print('已成功读取数据')
代码解释:
- 导入必要的库: -
openpyxl用于操作Excel文件。 -filedialog用于打开文件选择对话框。 -Tk用于创建窗口。2. 创建文件选择对话框: 使用filedialog.askopenfilename()函数让用户选择需要打开的Excel文件。3. 打开Excel文件: 使用openpyxl.load_workbook()函数打开Excel文件。4. 删除行: 使用ws.delete_rows()函数删除指定行。5. 获取最后一行非空行号: 通过ws.max_row获取工作表的最大行号,并将其赋值给i。6. 读取F列数据: 使用列表推导式读取F列所有单元格的值,并将它们存储到data_arr数组中。7. 切换到目标工作表: 使用wb['项目-数据源']切换到目标工作表。8. 写入数据: 使用循环遍历数组,并将数据写入到以N9单元格开始的连续单元格中。9. 保存文件: 使用wb.save()函数保存修改后的Excel文件。10. 弹出提示信息: 使用print()函数输出提示信息,告知用户数据已成功读取。
希望这段代码能够帮助您更好地理解如何使用Python处理Excel数据。如果您有任何其他问题,请随时提出!
原文地址: https://www.cveoy.top/t/topic/oGw 著作权归作者所有。请勿转载和采集!