本文主要是给大家介绍Python实现读取HTML表格pd.read_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'便可解决
以上就是个人的一些总结,希望可以为各位读者带来一定的帮助。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/127590.html
文中关键给大家介绍是指Pandas二种少使用的读取文件方式:载入在线文件的信息和载入剪切板的信息,感兴趣的朋友能够来了解一下吧一块儿学习下 序言 小伙伴们好,我就是Peter~ 文中记载的是Pandas二种少使用的读取文件方式: 载入在线文件的信息 载入剪切板的信息 申明:文中案例和在线数据仅限于学术研究共享 read_html 该函数公式表示是立即载入线上的html...
摘要:查看数据的基本统计信息。用处是用于数据读写处理更改提取等一系列操作的包,可以说,所有能实现的功能,都可以通过代码轻松实现,因此,对于学习非常重要。如果在里,需要翻到最低和最右,而且可能由于溢出无法穷尽可以简单的实现。 放在前面的话 这学期刻意少...
摘要:节目单表是每一年春晚上表演的节目,包括节目类型节目名演员名这几项数据。好消息是,今年的春晚她会继续主持。对她的印象莫过于每年春晚尾声的那曲难忘今宵。年的春晚,她一人连唱首歌,前无古人,也后无来者。 showImg(https://segmentfault.com/img/remote/1460000018120380); 看过那么多春晚,哪一年、哪些节目、哪些人你还留有深刻印象呢。 记...
摘要:一概述逗号分隔符文件是表格与数据库操作之中最常用的输入输出格式。但是尽管不同规范的之中,分隔符和引用符千差万别,他们的格式还是大体相似的,因此制作一个可以高效处理文件中的数据同时还能将读写的细节隐去的模块并不是什么难事儿。 一、概述 CSV(逗号分隔符)文件是表格与数据库操作之中最常用的输入输出格式。在RFC4180中的文件描述标准对CSV格式进行规范之前,CSV格式文件就已经被应用了...
阅读 658·2023-01-14 11:38
阅读 485·2023-01-14 11:04
阅读 391·2023-01-14 10:57
阅读 453·2023-01-14 10:48
阅读 501·2023-01-14 10:40
阅读 1307·2023-01-14 10:34
阅读 607·2023-01-14 10:24
阅读 476·2023-01-14 10:18