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

Python實(shí)現(xiàn)讀取HTML表格 pd.read_html()

 更新時(shí)間:2022年07月14日 14:34:03   作者:SpikeKing  
這篇文章主要介紹了Python實(shí)現(xiàn)讀取HTML表格 pd.read_html(),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Python讀取HTML表格

數(shù)據(jù)部門(mén)提供的數(shù)據(jù)是xls格式的文件,但是執(zhí)行讀取xls文件的腳本報(bào)錯(cuò)。

xlrd報(bào)錯(cuò):

xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found b'<html xm'

讀取xlrd的腳本

data_lines = read_excel_file(self.file_path)

def read_excel_file(file_path):
    """
    讀取excel文件
    """
    import xlrd
    print('[Info] excel file: {}'.format(file_path))
    book = xlrd.open_workbook(file_path)
    sheet = book.sheet_by_index(0)
    data_lines = []
    for row in range(0, sheet.nrows):
        line_data = []
        for column in range(0, sheet.ncols):
            val = sheet.cell(row, column).value
            line_data.append(val)
        data_lines.append(line_data)
    return data_lines  # 二維數(shù)組

原因是文件格式是HTML表格,參考python xlrd unsupported format, or corrupt file.

使用pandas的read_html讀取文件,同時(shí)替換nan為空字符,數(shù)據(jù)格式保持一致。

def read_html_table(file_path):
? ? """
? ? 讀取html表格
? ? """
? ? import pandas as pd
? ? pd_table = pd.read_html(file_path)
? ? df = pd_table[0]
? ? # num_col = df.shape[1]
? ? # num_row = df.shape[0]
? ? df_data = df.values.tolist()
? ? df_data = df_data[1:]
? ? for r_idx, row in enumerate(df_data):
? ? ? ? for c_idx, value in enumerate(row):
? ? ? ? ? ? # 判斷nan,參考https://stackoverflow.com/questions/944700/how-can-i-check-for-nan-values
? ? ? ? ? ? if value != value:
? ? ? ? ? ? ? ? df_data[r_idx][c_idx] = ""
? ? return df_data

讀取問(wèn)題解決。

pd.read_html讀取數(shù)據(jù)不完整問(wèn)題

問(wèn)題:有一個(gè)較大的表格數(shù)據(jù)存在了html中,打算用read_html直接取出來(lái)這部分?jǐn)?shù)據(jù),但后來(lái)發(fā)現(xiàn)read_html讀取的數(shù)據(jù)不完整,后來(lái)檢查html的table都沒(méi)有任何問(wèn)題

解決辦法

pd.read_html的默認(rèn)解析器為 'lxml' ,添加參數(shù)flavor='bs4'便可解決

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解Python中range()與xrange()的區(qū)別

    詳解Python中range()與xrange()的區(qū)別

    range()?和?xrange()?是兩個(gè)函數(shù),可用于在?Python的?for?循環(huán)中迭代一定次數(shù)。本文將通過(guò)示例詳細(xì)說(shuō)說(shuō)二者的區(qū)別與使用,需要的可以參考一下
    2022-09-09
  • Python 多線(xiàn)程超詳細(xì)到位總結(jié)

    Python 多線(xiàn)程超詳細(xì)到位總結(jié)

    線(xiàn)程在程序中是獨(dú)立的、并發(fā)的執(zhí)行流。與分隔的進(jìn)程相比,進(jìn)程中線(xiàn)程之間的隔離程度要小,它們共享內(nèi)存、文件句柄和其他進(jìn)程應(yīng)有的狀態(tài)。線(xiàn)程的劃分尺度小于進(jìn)程,使多線(xiàn)程程序的并發(fā)性高。進(jìn)程在執(zhí)行過(guò)程中擁有獨(dú)立內(nèi)存單元,而多個(gè)線(xiàn)程共享內(nèi)存,從而提升程序運(yùn)行效率
    2021-11-11
  • Python中def()函數(shù)的實(shí)戰(zhàn)練習(xí)題

    Python中def()函數(shù)的實(shí)戰(zhàn)練習(xí)題

    def是define的縮寫(xiě),用來(lái)自定義函數(shù),下面這篇文章主要給大家介紹了關(guān)于Python中def()函數(shù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • Python編程基礎(chǔ)之輸入與輸出

    Python編程基礎(chǔ)之輸入與輸出

    這篇文章主要為大家介紹了Python輸入與輸出,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2021-12-12
  • python實(shí)現(xiàn)二叉樹(shù)的遍歷

    python實(shí)現(xiàn)二叉樹(shù)的遍歷

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)二叉樹(shù)的遍歷,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Python類(lèi)如何定義私有變量

    Python類(lèi)如何定義私有變量

    這篇文章主要介紹了Python類(lèi)如何定義私有變量,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • python簡(jiǎn)單實(shí)現(xiàn)獲取當(dāng)前時(shí)間

    python簡(jiǎn)單實(shí)現(xiàn)獲取當(dāng)前時(shí)間

    最近項(xiàng)目中經(jīng)常需要python去取當(dāng)前的時(shí)間,雖然不是很難,但是老是忘記,用一次丟一次,為了能夠更好的記住,我今天特意寫(xiě)下python 當(dāng)前時(shí)間這篇文章,如果你覺(jué)的對(duì)你有用的話(huà),可以收藏下。
    2016-08-08
  • python實(shí)現(xiàn)網(wǎng)站用戶(hù)名密碼自動(dòng)登錄功能

    python實(shí)現(xiàn)網(wǎng)站用戶(hù)名密碼自動(dòng)登錄功能

    最近接到這樣的需求通過(guò)網(wǎng)頁(yè)用戶(hù)認(rèn)證登錄實(shí)現(xiàn)上網(wǎng),如何實(shí)現(xiàn)網(wǎng)站自動(dòng)登錄功能呢,接下來(lái)小編給大家?guī)?lái)了python實(shí)現(xiàn)網(wǎng)站用戶(hù)名密碼自動(dòng)登錄功能,需要的朋友可以參考下
    2019-08-08
  • Python可視化學(xué)習(xí)之seaborn調(diào)色盤(pán)

    Python可視化學(xué)習(xí)之seaborn調(diào)色盤(pán)

    seaborn是在matplotlib基礎(chǔ)上封裝的,所以matplotlib的調(diào)色盤(pán)seaborn都可以使用。本文系統(tǒng)介紹seaborn調(diào)色盤(pán),相較于matplotlib,有諸多不同,需要的可以參考一下
    2022-02-02
  • pytorch 在網(wǎng)絡(luò)中添加可訓(xùn)練參數(shù),修改預(yù)訓(xùn)練權(quán)重文件的方法

    pytorch 在網(wǎng)絡(luò)中添加可訓(xùn)練參數(shù),修改預(yù)訓(xùn)練權(quán)重文件的方法

    今天小編就為大家分享一篇pytorch 在網(wǎng)絡(luò)中添加可訓(xùn)練參數(shù),修改預(yù)訓(xùn)練權(quán)重文件的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08

最新評(píng)論

肥城市| 枣强县| 怀远县| 哈巴河县| 于都县| 隆尧县| 梓潼县| 剑川县| 新民市| 闸北区| 綦江县| 襄垣县| 闽清县| 腾冲县| 仙游县| 仪陇县| 公主岭市| 洛宁县| 祥云县| 武夷山市| 营山县| 榆林市| 台安县| 云梦县| 新乡县| 磐石市| 吉木乃县| 扎囊县| 黄梅县| 孝感市| 霞浦县| 济阳县| 甘南县| 精河县| 阳城县| 天津市| 定边县| 九江市| 锡林郭勒盟| 泗阳县| 湄潭县|