人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

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

發(fā)布日期:2022-07-20 19:04 | 文章來源:gibhub

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直接取出來這部分?jǐn)?shù)據(jù),但后來發(fā)現(xiàn)read_html讀取的數(shù)據(jù)不完整,后來檢查html的table都沒有任何問題

解決辦法

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

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

美國快速服務(wù)器

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部