文章插图
作者 | 李秋键
责编 | 晋兆雨
头图 | CSDN付费下载自视觉中国
在很多的公司项目中 , 常常有很多对office项目的比较机械化的操作 , 在这里就可以借助Python实现对office的合理排版 。而这里我们就将借助海尔公司的出货表爬取对应图片信息 , 并重新排版成为更加合理的Excel布局 。
而今天我们这个项目是来自于实际生活中真实存在的处理事件 。海尔在国外的员工常常要处理一些进出货的表格统计 , 但是由于国外人很多不大精通汉字 , 故常常要通过给出的汉字在网上搜索图片 , 然后复制到表格中以方便国外人能看懂是什么货物 , 并加上拼音有助于理解 。相对以往而言 , 由于货物清单任务量很大 , 常常需要大量时间人力而且容易出错 , 故我们这里设计了个程序使得这一项任务完全可以由电脑自动完成 , 不仅速度极快 , 而且不需要浪费人力和精力 , 提高了生产效率 。
文章插图
实验前的准备其中海尔给出的货物清单的Excel在4.xlsx中 , 数据如下:
文章插图
文章插图
代码总体框架
整体的程序框架分为两个重要部分 。一个部分是用来爬取数据 , 另一个用来排版成美观的Excel 。如下详解:
1 爬取数据并保存
如download.py程序可见 。
首先我们流程是从Excel读取数据、然后借助百度图库搜索图片 , 并爬取保存 。
2 Excel排版和拼音注释
如xls.py可见 。根据下载下来的图片和文字及其拼音保存排版 。
文章插图
第三方库介绍
- Xlrd库:用来读取和保存Excel表格 , 更方便读取数据
- Pypinyin库:用来把汉字转为拼音 , 这里我们需要将它准成有音素的拼音
- Xlsxwriter库:用来读取和保存Excel表格 , 其可以更好地保存格式
- Requests库:Requests 是用Python语言编写 , 基于 urllib , 采用 Apache2 Licensed 开源协议的 HTTP 库 。它比 urllib 更加方便 , 可以节约我们大量的工作 , 完全满足 HTTP 测试需求 。
- Re库:正则表达式匹配
- Pillow库:读取图片
- Urllib库:用来网络爬虫处理
- Socket库:数据包处理
- 【Python实现信息自动配对爬虫排版程序】Openpyx库l:openpyxl是一款比较综合的工具 , 不仅能够同时读取和修改Excel文档 , 而且可以对Excel文件内单元格进行详细设置 , 包括单元格样式等内容 , 甚至还支持图表插入、打印设置等内容 , 使用openpyxl可以读写xltm, xltx, xlsm, xlsx等类型的文件 , 且可以处理数据量较大的Excel文件 , 跨平台处理大量数据是其它模块没法相比的 。因此 , openpyxl成为处理Excel复杂问题的首选库函数 。在使用openpyxl前先要掌握三个对象 , 即:Workbook(工作簿)、Worksheet(工作表)和Cell(单元格 , 存储具体的数据对象)三个对象 。
- Time库:用来每次爬取数据的适当延迟 , 以防止网站封掉ip 。
- Os模块:用来本地文件和文件夹的读取和生成等等 。
文章插图
代码
在download程序中 , 首先是根据给出的Excel表读取数据 , 代码如下:
首先是设置编码格式和导入所要使用到的库:
#encoding=utf-8
importxlrd
frompypinyin import lazy_pinyin,pinyin
importxlsxwriter
importrequests
import os
import re
from PILimport Image
importtime
fromurllib import request
fromurllib import error
importrandom
importsocket
接着设立文件名变量方便保存和读取 。设立爬虫包的延迟时间为20s 。#改文件名的地方
excel_address="4.xlsx"
socket.setdefaulttimeout(20)
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Python 为什么用 # 号作注释符?
- 峰顶寺茶业加盟信息,鹭岩茶业
- 纯CSS实现等高价目表
- 福海茶叶加盟信息,加盟白茶品牌
- Python-Pandas模块Series
- python中的异步网络框架socketserver
- 个人医保账户如何实现“亲属共享”?
- 哪些高速公路收费站和服务区关闭关停?何时开放?怎样绕行?公示汇总信息在这儿查
- 古茗茶叶加盟信息,加盟白茶费用
- 凤宁号茶叶加盟信息,佛山市南海区春之茗茶叶加盟八方茶园