最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python處理Excel文件實例代碼

 更新時間:2017年06月20日 09:09:12   作者:Berne  
本篇文章主要介紹了Python處理Excel文件實例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

因為工作需求,需要審核一部分query內(nèi)容是否有效,query儲存在Excel中,文本內(nèi)容為頁面的Title,而頁面的URL以HyperLink的格式關(guān)聯(lián)到每個Cell。

于是本能的想到用Python讀取Excel文件之后進行文本分析,之后對每個鏈接進行一次HttpRequest,通過分析HttpResponse的內(nèi)容來判斷當(dāng)前鏈接是否有效。

于是上網(wǎng)搜了下,發(fā)現(xiàn)比較主流的是用xlrd的插件,但是實際使用過程中發(fā)現(xiàn),無論如何,最終獲取的hyperlink_map值一直都是None,也沒空去分析到底是為什么。最后經(jīng)過搜索發(fā)現(xiàn)一個叫xlwings的Python庫,可以有效使用。

xlwings:Python For Excel

具體的代碼如下:

# -*- coding=utf-8 -*-
import xlwings as xw
import urllib
import sys

type = sys.getfilesystemencoding() 

def get_html(url):
  page = urllib.urlopen(url)
  html = page.read()
  return unzip(html)

## Debug的時候發(fā)現(xiàn)無論怎樣做Decode,最后的結(jié)果都是亂碼
## 后來發(fā)現(xiàn)是因為對應(yīng)的網(wǎng)頁做了壓縮處理,所以需要對獲取的網(wǎng)頁內(nèi)容手動解壓縮
def unzip(data):
  import gzip
  import StringIO
  data = StringIO.StringIO(data)
  gz = gzip.GzipFile(fileobj=data)
  data = gz.read()
  gz.close()
  return data

wb = xw.Book(r"C:\Users\hasee\Desktop\Test.xlsx")
main_data = wb.sheets["Sheet2"]
## 通過獲取Last Cell來確定當(dāng)前Sheet的有效行數(shù)與列數(shù)
rownum = main_data.range('A1').current_region.last_cell.row
colnum = main_data.range('A1').current_region.last_cell.column

## 定位column對應(yīng)的列
col_dict = {"2":"B","3":"C","4":"D","5":"E","6":"F"}

for row in range(1, rownum + 1):
  for col in range(2, colnum + 1):
    query = main_data.range(row, 1).value
    cell = main_data.range(row, col)
    link = cell.hyperlink
    html = get_html(link)
    if "error-container" in html:
      print "%s,%s,%s,%s" % (query, col_dict.get(str(col))+str(row), cell.value, cell.hyperlink)
      ## 對無效的鏈接所屬的Cell染色,直接寫入文件
      cell.color = (253,218,4)

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python直接賦值、淺拷貝與深度拷貝實例分析

    Python直接賦值、淺拷貝與深度拷貝實例分析

    這篇文章主要介紹了Python直接賦值、淺拷貝與深度拷貝,結(jié)合實例形式分析了Python直接賦值、淺拷貝與深度拷貝的概念、原理、用法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-06-06
  • Python 調(diào)用PIL庫失敗的解決方法

    Python 調(diào)用PIL庫失敗的解決方法

    今天小編就為大家分享一篇Python 調(diào)用PIL庫失敗的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 詳解pandas中MultiIndex和對象實際索引不一致問題

    詳解pandas中MultiIndex和對象實際索引不一致問題

    這篇文章主要介紹了詳解pandas中MultiIndex和對象實際索引不一致問題,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 通過PYTHON來實現(xiàn)圖像分割詳解

    通過PYTHON來實現(xiàn)圖像分割詳解

    這篇文章主要介紹了通過PYTHON來實現(xiàn)圖像分割詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,,需要的朋友可以參考下
    2019-06-06
  • 樹莓派上利用python+opencv+dlib實現(xiàn)嘴唇檢測的實現(xiàn)

    樹莓派上利用python+opencv+dlib實現(xiàn)嘴唇檢測的實現(xiàn)

    本文主要介紹了樹莓派上利用python+opencv+dlib實現(xiàn)嘴唇檢測的實現(xiàn),文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 使用python實現(xiàn)簡單五子棋游戲

    使用python實現(xiàn)簡單五子棋游戲

    這篇文章主要為大家詳細介紹了使用python實現(xiàn)簡單五子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Python?asyncore?socket客戶端開發(fā)基本使用教程

    Python?asyncore?socket客戶端開發(fā)基本使用教程

    asyncore庫是python的一個標(biāo)準(zhǔn)庫,提供了以異步的方式寫入套接字服務(wù)的客戶端和服務(wù)器的基礎(chǔ)結(jié)構(gòu),這篇文章主要介紹了Python?asyncore?socket客戶端開發(fā)基本使用,需要的朋友可以參考下
    2022-12-12
  • python3中替換python2中cmp函數(shù)的實現(xiàn)

    python3中替換python2中cmp函數(shù)的實現(xiàn)

    這篇文章主要介紹了python3替換python2中cmp函數(shù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • 使用Python開發(fā)一個帶EPUB轉(zhuǎn)換功能的Markdown編輯器

    使用Python開發(fā)一個帶EPUB轉(zhuǎn)換功能的Markdown編輯器

    Markdown因其簡單易用和強大的格式支持,成為了寫作者、開發(fā)者及內(nèi)容創(chuàng)作者的首選格式,本文將通過Python開發(fā)一個Markdown編輯器并帶有帶EPUB轉(zhuǎn)換功能,感興趣的小伙伴可以參考一下
    2025-04-04
  • Python的經(jīng)緯度與xy坐標(biāo)系相互轉(zhuǎn)換方式

    Python的經(jīng)緯度與xy坐標(biāo)系相互轉(zhuǎn)換方式

    這篇文章主要介紹了Python的經(jīng)緯度與xy坐標(biāo)系相互轉(zhuǎn)換方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評論

云南省| 阆中市| 班玛县| 保康县| 惠水县| 武义县| 宝山区| 内黄县| 定州市| 浦江县| 绥德县| 宁夏| 贵港市| 阿拉善左旗| 镇赉县| 开封县| 余干县| 广东省| 衡东县| 泗洪县| 开封县| 安平县| 鄂托克前旗| 石泉县| 安化县| 盐边县| 科技| 岢岚县| 凤庆县| 辰溪县| 开封市| 广平县| 莫力| 会昌县| 阿克| 阜康市| 梧州市| 汶上县| 开远市| 阿克陶县| 古浪县|