python 处理 excel,读取内容 openpyxl模块

用python实现文件自动下载,我搜索了一些href链接,保存在excel里面,然后希望python能自动开机启动下载任务,然后读取excel的href链接,并且,自动下载,下载好以后,自动在excel记录下下载完毕的结果,如果没有完成,下次继续下载。我希望电脑能在我不在家的时候,自己去下载文件,不需要我自己点开来。并且下载目录让python自己创建,我只要指定保存的总文件路径。现在先实现从excel里面读取href连接的功能,使用第三方库openpyxl

java/javascript/php/python都是能操作excel文件的,可以读取保存,但是javascript实现不了文件下载保存,其他都能实现,所以用哪个语言我觉得都是一样的。

1.1 Python官方库操作excel

Python官方库一般使用xlrd库来读取Excel文件,使用xlwt库来生成Excel文件,使用xlutils库复制和修改Excel文件,这三个库只支持到Excel2003。

1.2 第三方库openpyxl介绍

第三方库openpyxl(可读写excel表),专门处理Excel2007及以上版本产生的xlsx文件,xls和xlsx之间转换容易。 注意:如果文字编码是“gb2312” 读取后就会显示乱码,请先转成Unicode

1.安装 cmd 运行命令行

pip install openpyxl

 

从网上下载的图片有logo的话还可以用python批量清除logo

 1.循环获取href地址

import openpyxl

wb = openpyxl.load_workbook('file/allhref.xlsx')

sheets = wb.sheetnames
# print(sheets, type(sheets))

def getHref(ws):
    # print(ws['A'])
    for href in  ws['B']: 
        if href.value != 'href': {
            print(href.value)
        }
            

for sheet in sheets:        # 循环表
   if(sheet == 'Sheet1'): getHref(wb[sheet])
        # wb[sheet]

 

 

 

import openpyxl
import urllib.request
import time

filePath = "F:/E/git/python-learn/writeExcel/download/"
wb = openpyxl.load_workbook('file/allhref.xlsx')

sheets = wb.sheetnames
# print(sheets, type(sheets))

def getHref(ws):
    # print(ws['A']) A一竖列
    #循环B数列
    for href in  ws['B']: 
        if href.value != 'href': {
             dowload(href.value)
        }

         
def dowload(url):

        response = urllib.request.urlopen(url)
        data = response.read()
        t = int(time.time() * 1000)
        name = filePath + '%d'%t+".jpg" //创建保存的文件名称
        with open(name, 'wb') as code:
            code.write(data)
      


for sheet in sheets:        # 循环表
   if(sheet == 'Sheet1'): getHref(wb[sheet])
        # wb[sheet]

 

保存文件为时间戳,时间戳转字符串

 t = int(time.time() * 1000)
'%d'%t

创建文件夹 依赖os模块

os.mkdir(“test”)

 

图片下载已经实现了,python不能用{ },包住代码块,写的真难受。

import openpyxl
import urllib.request
import time
import os

filePath = "F:/download/" 
#换成自己的下载目录地址
wb = openpyxl.load_workbook('file/***.xlsx')
#换成自己的exal目录

sheets = wb.sheetnames
# print(sheets, type(sheets)) 

def getHref(ws):
    # print(ws['A']) A一竖列
    #循环B数列
    i = 0
    for href in  ws['B']: 
        name = (ws['A'][i].value)
        i = i + 1
        if href.value != 'href': 
             dowload(href.value, name)
        

         
def dowload(url, fileName):
        response = urllib.request.urlopen(url)
        data = response.read()
        t = int(time.time() * 1000)
        os.mkdir("download/"+fileName)//创建新的文件来保存特殊的文件
        name = filePath + '%d'%t+".jpg"
        with open(name, 'wb') as code:
            code.write(data)


for sheet in sheets:        # 循环表
   if(sheet == 'Sheet1'): getHref(wb[sheet])
        # wb[sheet]

sheet1表1的目录

下面要支持对电影,pdf,迅雷的下载支持  和   对路径文件名称的自动匹配,保存成功对exal的保存,获取时间保存到overTime一行

posted on 2020-03-22 11:14  chenyi4  阅读(802)  评论(0编辑  收藏  举报

导航