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

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

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

Python讀取HTML表格

數(shù)據(jù)部門提供的數(shù)據(jù)是xls格式的文件,但是執(zhí)行讀取xls文件的腳本報錯。

xlrd報錯:

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讀取文件,同時替換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

讀取問題解決。

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

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

解決辦法

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

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

相關(guān)文章

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

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

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

    Python 多線程超詳細到位總結(jié)

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

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

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

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

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

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

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

    Python類如何定義私有變量

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

    python簡單實現(xiàn)獲取當前時間

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

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

    最近接到這樣的需求通過網(wǎng)頁用戶認證登錄實現(xiàn)上網(wǎng),如何實現(xiàn)網(wǎng)站自動登錄功能呢,接下來小編給大家?guī)砹藀ython實現(xiàn)網(wǎng)站用戶名密碼自動登錄功能,需要的朋友可以參考下
    2019-08-08
  • Python可視化學習之seaborn調(diào)色盤

    Python可視化學習之seaborn調(diào)色盤

    seaborn是在matplotlib基礎(chǔ)上封裝的,所以matplotlib的調(diào)色盤seaborn都可以使用。本文系統(tǒng)介紹seaborn調(diào)色盤,相較于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)重文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08

最新評論

平度市| 什邡市| 竹北市| 南平市| 舞钢市| 郯城县| 尚义县| 禄丰县| 大关县| 石台县| 陆河县| 芷江| 固原市| 河南省| 济源市| 库伦旗| 繁昌县| 桑日县| 乌鲁木齐市| 同仁县| 山东| 南丰县| 中方县| 潼南县| 武山县| 九江市| 清徐县| 肇东市| 古交市| 芜湖县| 昌黎县| 阿克陶县| 扬州市| 合肥市| 迁安市| 崇信县| 松滋市| 宣化县| 隆林| 岳阳市| 汽车|