博客
关于我
python与excel
阅读量:797 次
发布时间:2023-03-09

本文共 2772 字,大约阅读时间需要 9 分钟。

Python与Excel的结合使用在数据处理和分析中非常常见。本文将详细介绍如何利用Python脚本对Excel文件进行数据提取和图像处理。

1. 读取Excel文件

首先,我们需要读取目标Excel文件。使用xlrd库可以轻松实现这一步骤:

import xlrddata = xlrd.open_workbook(r"test.xlsx")sheet1 = data.sheet_by_name(u'Images')row = sheet1.nrowscol = sheet1.ncols

2. 提取文件名并生成路径

通过遍历Excel表格中的行和列,我们可以提取每行的名称和每列的名称,然后组合成图片文件名:

row_name_list = []col_name_list = []file_name_list = []row_index_list = []col_index_list = []for i in range(2, row):    row_name_list.append(sheet1.cell(i, 0).value.strip())    row_index_list.append(i)for i in range(1, col):    col_name_list.append(sheet1.cell(1, i).value.strip())    col_index_list.append(i)file_insert_pos = []file_path_list = []dir_path = r"E:\0629 blue"  # 请根据实际路径调整for i in row_name_list:    for j in col_name_list:        file_name = i + j + '.bmp'        file_name_list.append(file_name)for i in row_index_list:    for j in col_index_list:        file_insert_pos.append((i, j))for i in file_name_list:    file_path = os.path.join(dir_path, i)    file_path_list.append(file_path)

3. 插入图片到Excel中

接下来,我们将生成的路径和位置信息用于在Excel中插入图片。使用xlsxwriter库可以实现这一功能:

import xlsxwriterbook = xlsxwriter.Workbook('new_res.xlsx')sheet = book.add_worksheet(u'Images')for i in range(2, 50):    sheet.set_row(i, 200)sheet.set_column('B:O', 20)for i in range(len(file_path_list)):    img_path = file_path_list[i]    insert_pos = file_insert_pos[i]    sheet.insert_image(insert_pos[0], insert_pos[1], img_path, {'x_scale': 0.21, 'y_scale': 0.2})

4. 使用GUI实现文件选择

如果需要更便捷的操作,可以通过GUI实现文件选择。以下是使用PyQt5实现的GUI代码:

import sysimport osfrom PyQt5.QtWidgets import (QWidget, QPushButton, QApplication, QFileDialog, QMessageBox)class FramePane(QWidget):    def __init__(self):        super().__init__()        self.setWindowTitle("Major")        self.resize(1400, 900)        self.setup_ui()    def setup_ui(self):        self.btn1 = QPushButton(self)        self.btn1.setText("选择excel文件")        self.btn1.move(100, 100)        self.btn1.clicked.connect(self.select_excel_file)    def select_excel_file(self):        fileName_choose, filetype = QFileDialog.getOpenFileName(self,                                                                "选取文件",                                                                os.getcwd(),                                                                "All Files (*);;Text Files (*.txt)")        if fileName_choose == "":            print("\n取消选择")            return        from utils import gen_excel        res = gen_excel(fileName_choose)        mess = QMessageBox(self)        mess.setText(res)        mess.show()if __name__ == '__main__':    app = QApplication(sys.argv)    window = FramePane()    window.show()    sys.exit(app.exec_())

以上代码实现了从Excel文件中提取数据,生成图片文件名和路径,并将图片插入到新的Excel文件中。通过GUI界面,用户可以方便地选择需要处理的Excel文件。整个流程自动化,节省了大量手动操作时间。

转载地址:http://dnlfk.baihongyu.com/

你可能感兴趣的文章
Python在Conda环境中,但在Windows虚拟环境中没有激活
查看>>
python系列【仅供参考】:python pip 错误 ModuleNotFoundError: No module named pip._internal 解决办法
查看>>
python图像条状状噪声,使用PYTHON PIL从验证码图像中删除背景嘈杂的线条
查看>>
Python图像处理:从内存加载jpeg
查看>>
python固定后缀(名物化词汇)词频统计:抽取+统计+可视化
查看>>
python商品评论数据采集与分析可视化系统 Flask框架 requests爬虫 NLP情感分析 毕业设计 源码
查看>>
python商品数据分析可视化系统(带爬虫)京东销售数据分析 计算机毕业设计 源码下载
查看>>
python商品库存管理系统 django框架 商品网站 MySQL数据库 源码下载 计算机毕业设计
查看>>
Python哪个版本最稳定好用2023.10.19
查看>>
Python和黑客技术的渊源
查看>>
Python和RF编写接口自动化
查看>>
python和js哪个难_【Python】记一次学习,Python 与 js 在实现闭包时的差异
查看>>
python和java哪个更值得学——来自知乎高赞回答
查看>>
python命名空间更改_Python模块xml.etree.ElementTree自动修改xml命名空间键
查看>>
Python命名中尾随下划线有什么好处?
查看>>
Python启动脚本
查看>>
Python听写汇总结果
查看>>
python吊打Excel?屁!那是你不会用!
查看>>
Python合并两张图片 | 先叠透明度再合并 (附Demo)
查看>>
python各进制的表述与转换
查看>>