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一行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM