Python获取Excel内容
Python获取Excel内容
目录
- Python获取Excel内容
- 1.读取Excel并登陆
- 2.下载Excel中图片 数据存储到列表
- 3.上传到接口
需求:获取
xlsx files目录下的所有Excel信息,并将数据打包成字典格式上传到接口
示例数据:

1.读取Excel并登陆
import os
import re
import glob
import pandas as pd
from PIL import Image
import requests
from openpyxl import load_workbook# 获取当前路径
current_path = os.getcwd()
# 定义目标文件夹和子目录 如果不存在则新建
dir_path = current_path + '\\xlsx files'
images_dir = current_path + '\\images'
target_files = glob.glob(os.path.join(dir_path, '*.xlsx'))
os.makedirs(dir_path, exist_ok=True)
os.makedirs(images_dir, exist_ok=True)
print(target_files)# 定义登陆url和接口url
login_url = 'http://127.0.0.1:8000/core/login/'
api_url = 'http://127.0.0.1:8000/revice_product/'
u_p = {'username': '123', 'password': '123'}
res = requests.post(url=login_url, data=u_p)
token = res.headers.get('Set-Cookie')
cookies = {f'{token.split('=')[0]}': f'{token.split('=', 1)[1]}'}
2.下载Excel中图片 数据存储到列表
# 存放图片名称信息
files_name = []
# 遍历目录下的所有Excel文件
for i in target_files:df = pd.read_excel(i) # 读取Excel信息 存放到dfwb = load_workbook(i) # 读取Excel函数 用于图片处理ws = wb[wb.sheetnames[0]] # 切换到第一个sheet表# 遍历获取表中所有图片for image in ws._images:image_row = image.anchor._from.row # 图片所在行image_col = image.anchor._from.col # 图片所在列# 根据图片位置获取其它信息 比如这里是产品名df_name = df.iloc[image_row, image_col - 6]# 打开图片并存储img = Image.open(image.ref).convert("RGB")# 以产品名命名图片 并存入列表img.save(os.path.join(images_dir, f'{df_name}.png'))files_name.append(df_name)df = pd.read_excel(i)db = pd.read_excel(i) # 读取Excel其它的信息 存放到db# 遍历Excel每一行数据for index, j in df.iterrows():row_dict = {}# 遍历每一列数据for col in df.columns:# 排除空数据和第一列数据 因为第一行一般没有数据if not pd.isna(j[col]) and col != 'Unnamed: 0':# 案例中的列名是 姓名(name)格式的 这里作者只取括号内的内容col_name = re.search(r'\(([^)]*)\)', col).group(1)# 下面就是对数据进行处理if col_name == 'needle_type':j[col] = re.search(r'\d+', j[col]).group(0) + 'G'if col_name == 'gram_weight':j[col] = re.search(r'\d+', str(j[col])).group(0)# 以列名作为键 内容作为值存储在row_dict字典row_dict[col_name] = j[col] # {'name': '张三'}# 每读取好一行就将字典保存到列表data_list.append(row_dict)
print(files_name)
print(data_list)
3.上传到接口
# 遍历所有经过处理的数据
for i in data_list:# 根据已存图片 获取其对应的数据if i['name'] in files_name:with open(os.path.join(images_dir, i['name'] + '.png'), 'rb') as f:# 读取该图片 修改为符合form-data格式的键值对files = {'image': (i['name'] + '.png', f, 'image/png')}# 生成字典数据 不包括图片信息data = {k: v for k, v in i.items() if k != 'product_image'}# 通过post请求发送数据data和图片files到指定urlres = requests.post(url=api_url, cookies=cookies, data=data, files=files)
相关文章:
Python获取Excel内容
Python获取Excel内容 目录 Python获取Excel内容1.读取Excel并登陆2.下载Excel中图片 数据存储到列表3.上传到接口 需求:获取xlsx files目录下的所有Excel信息,并将数据打包成字典格式上传到接口 示例数据: 1.读取Excel并登陆 import os impo…...
python实现小游戏随机猜数
1、脚本练习 import random# 初始化剩余的猜测次数 counts 3 # 生成一个1到10之间的随机整数 numb random.randint(1, 10)# 循环直到猜测次数用完 while counts > 0:tmp input("请输入小鱼手里的数字 (你还剩下 {} 次机会): ".format(counts))guess int(tmp)…...
YOLOv5与YOLOv8 训练准备工作(不包含环境搭建)
前言:我发现除了安装环境需要耗费大量时间以外,对于训练前的准备工作也要琢磨一段时间,所以本篇主要讲一下训练前需要准备的工作(主要是XML格式换为txt,以及划分数据集验证集,和训练参数的设置)…...
字节跳动发Seed-TTS语音合成模型,可模仿任意人的声音,效果逼真
前期我们介绍过很多语音合成的模型,比如ChatTTS,微软语音合成大模型等,随着大模型的不断进步,其合成的声音基本跟真人没有多大的区别。本期介绍的是字节跳动自家发布的语音合成模型Seed-TTS。 Seed-TTS 推理包含四个功能模块&…...
微信小程序教程011-3:京西购物商城实战之Home页实现
文章目录 3、首页3.0 创建home分支3.1 配置网络请求3.2 轮播图区域3.2.1 请求轮播图的数据3.2.2 渲染轮播图的UI结构3.2.3 配置小程序分包3.2.4 点击轮播图跳转到商品详情页3.2.5 封装 uni.$showMsg() 方法3.3 分类导航区域3.3.1 获取分类导航的数据3.3.2 渲染分类导航的UI结构…...
使用 Manim 创建一个二维坐标平面【NumberPlane】
NumberPlane 是 Manim 中用于创建一个二维坐标平面的类。它可以帮助用户在场景中可视化坐标轴、网格线以及其他数学概念。具体来说,它的功能包括: 坐标轴:NumberPlane 提供了 x 轴和 y 轴,通常是中心对称的,允许用户清…...
Android.mk(TODO)
Android.mk 文件是 Android 构建系统(基于 GNU Make)的一个核心部分,用于定义如何构建项目中的模块。在 Android 中,Android.mk 文件主要用于描述本地模块(如库、可执行文件等)的构建信息。以下是 Android.…...
WPF datagrid 选中某一行后让第一列的checkbox选中
在 WPF 中的 DataGrid 中,如果希望在选中某一行后让该行的第一列中的 CheckBox 选中,可以通过绑定和事件处理来实现。以下是具体的步骤: 绑定数据:确保 DataGrid 的数据源绑定到一个支持 INotifyPropertyChanged 接口的集合。模板…...
洛谷 P1347 排序(福建省历届夏令营)(图论:拓扑排序)
题目描述 一个不同的值的升序排序数列指的是一个从左到右元素依次增大的序列,例如,一个有序的数列 A,B,C,D表示 A<B,B<C,C<D。在这道题中,我们将给你一系列形如 A<B的关系,并要求你判断是否能够根据这些关系确定这个…...
Redis 缓存击穿、穿透、雪崩
1. 缓存击穿 问题描述: 缓存击穿是指缓存中没有但数据库中有的数据(一般是缓存时间到期),这时由于并发用户特别多,同时读缓存没读到数据,又都去数据库去取数据,引起数据库压力瞬间增大…...
使用开源RustDesk部署远程控制服务
使用开源RustDesk部署远程控制服务 文档编写时间:2024/8/1 一、部署环境 操作系统:Ubuntu 2204 LTS IP地址:192.168.108.115 开源软件项目地址:rustdesk/rustdesk-server: RustDesk Server Program (github.com) 参考文档&a…...
Coco-LIC基于ubuntu的vscode进行断点调试
1、下vscode和插件 参考这个也行 https://zhuanlan.zhihu.com/p/704522656 2、编译debug版本并修改json 要在 Visual Studio Code (VSCode) 中进行断点调试 ROS 任务,你需要进行以下几个步骤: ### 1. 安装所需插件 - **C/C 插件**: 提供对 C 代码的调试…...
【Web】从TFCCTF-FUNNY浅析PHPCGI命令行注入漏洞利用
目录 背景 CVE-2012-1823 发散利用 法一:读文件 法二:数据外带 背景 CVE-2012-1823 PHP-CGI远程代码执行漏洞(CVE-2012-1823)分析 | 离别歌 省流: 命令行参数不光可以通过#!/usr/local/bin/php-cgi -d include…...
对比一下在 OpenCV 和 AE 中如何实现常用效果 [精]
确实,Adobe After Effects (AE) 也是一个功能强大的工具,特别擅长处理图像和视频的视觉效果和动画。很多在 OpenCV 中实现的图像处理和增强效果,AE 也可以轻松完成,甚至以更加直观的方式实现。下面对比一下在 OpenCV 和 AE 中如何…...
docker安装及使用
一、docker优点及作用 优点: 基础镜像MB级别创建简单隔离性强启动速度秒级移植与分享放便 作用:资源隔离 cpu、memory资源隔离与限制访问设备隔离与限制网络隔离与限制用户、用户组隔离限制 二、docker安装 2.1.配置yum源 yum install -y yum-uti…...
HTML前端面试基础(一)
HTML面试题可以涵盖多个方面,包括HTML基础、HTML5新特性、标签语义化、元素分类、属性理解等。以下是一些常见的HTML面试题及其简要答案: 1. HTML基础 问题: 请解释一下HTML文档的基本结构。 答案: HTML文档的基本结构包括<…...
[Git][多人协作][下]详细讲解
目录 1.不同分支下多人协作2.远程分⽀删除后,本地git branch -a依然能看到 1.不同分支下多人协作 ⼀般情况下,如果有多需求需要多⼈同时进⾏开发,是不会在⼀个分⽀上进⾏多⼈开发,⽽是⼀个需求或⼀个功能点就要创建⼀个feature分…...
MySQL笔记(七):索引
一、索引优化速度 创建对应字段的索引,只对该列有效,只能提高该列的查询速度 创建索引后,查询速度变快,但是表占用空间变大 create index 索引名 on 表名(需要创建索引的列)二、索引的原理 普通索引允许该字段重复 全文索引&#…...
JS 原型和原型链
构造函数 封装是面向对象思想中比较重要的一部分,js 面向对象可以通过构造函数实现的封装。 同样的将变量和函数组合到了一起并能通过 this 实现数据的共享,所不同的是 JS 借助构造函数创建出来的实例对象之间是彼此不影响的 存在浪费内存的问题&#…...
【无标题】图像增强技术:直方图均衡化、拉普拉斯算子、对数变换与伽马变换
图像增强技术:直方图均衡化、拉普拉斯算子、对数变换与伽马变换 在图像处理领域,图像增强是一种关键技术,用于提升图像的视觉效果和质量。本文将介绍四种常用的图像增强方法:直方图均衡化、拉普拉斯算子、对数变换和伽马变换。我…...
如何解决网页图片格式转换难题?这款Chrome扩展让效率提升3倍
如何解决网页图片格式转换难题?这款Chrome扩展让效率提升3倍 【免费下载链接】Save-Image-as-Type Save Image as Type is an chrome extension which add Save as PNG / JPG / WebP to the context menu of image. 项目地址: https://gitcode.com/gh_mirrors/sa/…...
镜像孪生系统总体技术方案白皮书——基于三维空间计算的全域视频智能感知与决策平台
镜像孪生系统总体技术方案白皮书——基于三维空间计算的全域视频智能感知与决策平台发布单位:镜像视界(浙江)科技有限公司 版本:V1.0 日期:2026年📌 摘要随着智慧城市、公共安全与数字政府建设的不断推进&a…...
OpenTAP硬件集成测试优势解析
OpenTAP 之所以在硬件和系统集成测试领域表现出色,主要得益于其独特的设计理念、灵活的架构以及强大的社区生态支持。以下将从核心架构、技术优势、应用场景和具体实施案例等多个维度进行详细阐述。 一、 核心架构与设计理念 OpenTAP 基于 .NET 平台构建ÿ…...
如何让你的Windows电脑重获新生?系统优化与个性化全攻略
如何让你的Windows电脑重获新生?系统优化与个性化全攻略 【免费下载链接】Winhance-zh_CN A Chinese version of Winhance. C# application designed to optimize and customize your Windows experience. 项目地址: https://gitcode.com/gh_mirrors/wi/Winhance-…...
ESP居然能当 DNS 服务器用?内含NCSI欺骗和DNS劫持实现妊
前言 Kubernetes 本身并不复杂,是我们把它搞复杂的。无论是刻意为之还是那种虽然出于好意却将优雅的原语堆砌成 鲁布戈德堡机械 的狂热。平台最初提供的 ReplicaSets、Services、ConfigMaps,这些基础组件简单直接,甚至显得有些枯燥。但后来我…...
多屏时代的窗口效率引擎:Rectangle智能布局解决方案
多屏时代的窗口效率引擎:Rectangle智能布局解决方案 【免费下载链接】Rectangle Move and resize windows on macOS with keyboard shortcuts and snap areas 项目地址: https://gitcode.com/gh_mirrors/re/Rectangle 场景痛点:当混乱成为工作流的…...
别让AI代码,变成明天的技术债沾
如果有多个供应商,你也可以使用 [[CC-Switch]] 来可视化管理这些API key,以及claude code 的skills。 # 多平台安装指令 curl -fsSL https://claude.ai/install.sh | bash ## Claude Code 配置 GLM Coding Plan curl -O "https://cdn.bigmodel.cn/i…...
灯具展板、展会展板哪里能找到?答案在这!
在灯具行业,无论是灯具门店的日常展示,还是参加各类展会,合适的展板都起着至关重要的作用。它们不仅能有效展示灯具的特点和魅力,还能提升整体的展示效果。那么,灯具展板、展会展板究竟哪里能找到呢?今天就…...
1、DDPG复现demo
1. DDPG 算法学习心得:从原理理解到实战感悟 近期在学习强化学习算法,从基础的 DQN 逐步深入到连续控制领域,DDPG 给了我非常深刻的启发。作为一种经典的深度确定性策略梯度算法,它解决了传统 DQN 无法处理连续动作空间的问题&am…...
为什么92%的PHP团队异步化失败?——高并发场景下I/O等待、内存泄漏与协程调度三大暗礁全曝光
第一章:PHP异步I/O的底层本质与失败全景图PHP 传统同步阻塞模型在 I/O 密集型场景中天然受限——每次 socket read/write、数据库查询或 HTTP 请求都会让整个进程挂起,直至内核返回结果。其底层本质并非缺乏异步能力,而是运行时(Z…...
