博客
关于我
python与excel
阅读量:798 次
发布时间: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:使用 shell=False 的子进程调用不起作用
查看>>
Python:修改 PATH 环境变量的平台无关方式
查看>>
Python:假与 0
查看>>
Python:函数使用
查看>>
Python:函数进阶
查看>>
Python:在整数的二进制表示中查找最长的二进制间隙
查看>>
Python:如何从二进制转换为 base 64 并返回?
查看>>
Python:如何以非阻塞方式读取子进程的标准输出
查看>>
Python:如何使用 plotly 制作阴影区域或交替背景颜色?
查看>>
Python:如何根据日期时间获取值的计数
查看>>
python:如何检测串行 COM 上的设备名称/ID
查看>>
Python:如何模拟 datetime.utcnow()?
查看>>
Python:如果DataFrames之间的其他值匹配,则对DataFrame中的值求和
查看>>
Python:字典思维
查看>>
Python:将 HEX 字符串转换为字节
查看>>
Python:将列表与范围列表合并
查看>>
Python:将列表列表初始化为一定大小,
查看>>
Python:带有生成器的给定集合的幂集
查看>>
Python:按字符的位置拆分字符串
查看>>
Python:替换嵌套字典中的值
查看>>