Python如何读取HTML表格,具体怎样做
Admin 2022-07-26 群英技术资讯 919 次浏览
这篇文章给大家分享的是Python如何读取HTML表格,具体怎样做。小编觉得挺实用的,因此分享给大家做个参考,文中的介绍得很详细,而要易于理解和学习,有需要的朋友可以参考,接下来就跟随小编一起了解看看吧。数据部门提供的数据是xls格式的文件,但是执行读取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 # 二维数组
原因是文件格式是HTML表格,参考python xlrd unsupported format, or corrupt file.
使用pandas的read_html读取文件,同时替换nan为空字符,数据格式保持一致。
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
读取问题解决。
问题:有一个较大的表格数据存在了html中,打算用read_html直接取出来这部分数据,但后来发现read_html读取的数据不完整,后来检查html的table都没有任何问题
pd.read_html的默认解析器为 'lxml' ,添加参数flavor='bs4'便可解决
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章主要为大家介绍了python神经网络使用tensorflow实现自编码Autoencoder,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
工作中偶尔会收到一大堆文件,名称各不相同,分析文件的时候发现有不少重复的文件,导致工作效率低下,那么,这里就写了一个python脚本实现文件去重功能,感兴趣的就一起来了解一下
这篇文章主要为大家介绍了Python简单实现gif动图倒放的示例过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
这篇文章主要介绍了python如何输入根号,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
这篇文章主要为大家介绍了PyTorch实现FedProx的联邦学习算法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008