Python如何读取HTML表格,具体怎样做
Admin 2022-07-26 群英技术资讯 1528 次浏览
这篇文章给大家分享的是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中where()函数的用法,小编觉得挺不错的,现在分享给大家,也给大家做个参,希望能帮助到大家
这篇文章给大家分享的是如何用怎样用python绘制雷达图的内容。雷达图相比其他标图有其优势和特点,能应用的场景也很多,小编觉得挺实用的,因此分享给大家做个参考,接下来一起跟随小编看看吧。
在本篇内容里小编给大家总结的是一篇关于python中Task封装协程的知识点总结内容,有兴趣的朋友们可以跟着学习下。
OpenCV中提供了两种技术用于特征匹配,分别为Brute-Force匹配器和基于FLANN的匹配器。本文将为大家详细介绍一下这两种匹配方式,需要的可以参考一下
列表是由一系列按照特定顺序的元素组成!列表是最常用的 Python 数据类型,它可以作为一个方括号内的逗号分隔值出现。列表的数据项不需要具有相同的类型!!
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008