批量修改Excel

TODO: 批量修改Excel

功能: 将图片防止在本地,读取excel数据,拆分数据之后根本地照片名称对比,然后上传服务器,创建新得excel。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
__author__ = 'YongCong Wu'
# @Time : 2019/6/14 16:18
# @Email : : 1922878025@qq.com import requests, os, sys, xlwt
import pandas as pd reload(sys)
sys.setdefaultencoding('utf8') ExcelPath = 'E:\ExcelImg\Drive\\'
DirPath = 'E:\80\\' + "files\\"
read_excel_list = []
read_img_path_list = []
presence_img = None # 读取excel
def excel_list(file_path):
df = pd.read_excel(ExcelPath + file_path, names=None)
df_li = df.values.tolist()
for i in df_li:
split_str = i[1].split("/")[-1]
read_excel_list.append(split_str)
print u"Excel 读取完毕..........." # 读取图片
def red_img(dir_path):
for i in os.listdir(dir_path):
if i.endswith('jpg') or i.endswith("png"):
read_img_path_list.append(i)
print u"Image 读取完毕..........." # 两个list对比
def if_list(excel_list, img_list):
filter_List = [x for x in excel_list if x in img_list]
print u"图片对比完毕..........."
butong = [y for y in (excel_list + img_list) if y not in filter_List]
print u"存在的个数: {0}".format(len(filter_List))
print u"不存在的个数: {0}".format(len(butong))
report_excel_data = []
num = 0
for i in filter_List:
ret = update_file(DirPath + i)
num += 1
report_excel_data.append([num, "https://wuyongcong.com/files/"+ret[0], ret[1] ])
print u"当前上传成功{0}张照片".format(num)
workbook = xlwt.Workbook(encoding='utf-8')
booksheet = workbook.add_sheet("Sheet 1", cell_overwrite_ok=True)
for i, row in enumerate(report_excel_data):
for j, col in enumerate(row):
booksheet.write(i, j, col)
workbook.save(u'司机身份证正面.xls')
print u"导出Excel完成............." # 上传图片, 返回地址保存Excel
def update_file(name):
url = '上传图片服务器地址'
file_s = {'file': open(name, 'rb')}
options = {'output': 'json', 'path': '', 'scene': 'default'}
try:
r = requests.post(url, files=file_s, data=options)
res = r.json()
split_str = name.split("\\")[-1]
return split_str, res['url']
except Exception as er:
print(er) excel_list('CardPhotoPath.xlsx')
red_img(DirPath)
if_list(read_excel_list, read_img_path_list)

  

修改Excel脚本的更多相关文章

  1. Python xlrd、xlwt、xlutils修改Excel文件

    一.xlrd读取excel 这里介绍一个不错的包xlrs,可以工作在任何平台.这也就意味着你可以在Linux下读取Excel文件.首先,打开workbook:    import xlrdwb = x ...

  2. 按模板批量修改Excel文件内容

    Sub 按模板修改Excel文件() Dim MoBanWorkBook As Workbook Set MoBanWorkBook = Application.ActiveWorkbook Dim ...

  3. pythone函数基础(11)读,写,修改EXCEL

    #读EXCEL需要导入xlrd模块---在python控制台pip install xlrd模块import xlrdbook = xlrd.open_workbook('stu3.xls')shee ...

  4. 用pandas库修改excel文件里的内容,并把excel文件格式存为csv格式,再将csv格式改为html格式

    假设有Excel文件data.xlsx,其中内容为: ID  age  height     sex  weight张三   1   39     181  female      85李四   2  ...

  5. Python基础-修改excel、redis、接口开发、组织代码

    pymysql模块补充内容 1. 游标.description():显示表的字段属性 (什么是游标:游标用于交互式应用,就好比word里的光标一样,要修改某个地方,要先把光标移动到这里) 用好这个方法 ...

  6. 【转】Python xlrd、xlwt、xlutils读取、修改Excel文件

    Python xlrd.xlwt.xlutils读取.修改Excel文件 一.xlrd读取excel 这里介绍一个不错的包xlrs,可以工作在任何平台.这也就意味着你可以在Linux下读取Excel文 ...

  7. 关于JXL读写以及修改EXCEL文件<转>

    首先引用网上的文章,谈谈JXL与POI的区别 POI为apache公司的一个子项目,主要是提供一组操作windows文档的Java API. Java Excel俗称jxl是一开放源码项目,通过它Ja ...

  8. Linux:自动获取静态IP地址,清空iptable,修改selinux脚本

    自动获取静态IP地址,清空iptable,修改selinux脚本 环境:VMware 平台:centos6.8全新 功能: 1)应用ifconfig -a,route -n,cat /etc/reso ...

  9. Python xlrd、xlwt、xlutils修改Excel文件-OK

    一.xlrd读取excel 这里介绍一个不错的包xlrs,可以工作在任何平台.这也就意味着你可以在Linux下读取Excel文件. 首先,打开workbook:    import xlrdwb = ...

随机推荐

  1. C语言函数内局部变量释放的坑

    首先把代码贴上来: #include <stdio.h> #include<windows.h> int f(int **iptr){ ; *iptr = &a; ; ...

  2. Shiro安全框架案例

    基于Shiro的用户认证(不包含授权) Spring整合Shiro shiro原理 1.1   搭建环境 1.1.1      web模块 pom.xml <dependency> < ...

  3. java web开发及Servlet常用的代码

    日志 1.使用门面模式的slfj,并结合log4j,logback. 2.info.debug.error,要写清楚. 3.使用占位符,如下: log.info("用户id为: {} &qu ...

  4. 退出状态、测试(test or [])、操作符、[]与[[]]区别

    一.退出状态 系统每执行一个命令,都会返回一个退出状态,若返回退出状态为0,表示命令执行成功, 若返回退出状态不为0,表示命令执行有错误. echo  $? 可以打印出退出状态. 例如:ls echo ...

  5. Tomcat的并发能力

    关注   一.一些限制 Windows 每个进程中的线程数不允许超过 2000 Linux 每个进程中的线程数不允许超过 1000 在 Java 中每开启一个线程需要耗用 1MB 的 JVM 内存空间 ...

  6. how does SELECT TOP works when no order by is specified?

    how does SELECT TOP works when no order by is specified? There is no guarantee which two rows you ge ...

  7. Redis系列 | Redis5.0 新特性

  8. Laravel 使用自己的类库三种方式

    虽然Composer使得我们可以重用很多现有的类库(例如packagist.org中的),但是我们仍然可能用到一些不兼容composer的包或者类库.另外在某一项目中,我们也可能会创建某一类库,而且可 ...

  9. array_slice

    array_slice  分割数组, 效果相当于 substr 类似字符串操作

  10. 基于thrift的node.js rpc服务

    1.在node.js 服务下创建node_modules文件,npm install  thrift 下载thrift到该文件下. 2.编写idl文件.user.thrift 内容如下: struct ...