惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

C
Check Point Blog
aimingoo的专栏
aimingoo的专栏
Jina AI
Jina AI
Microsoft Security Blog
Microsoft Security Blog
IT之家
IT之家
V
Visual Studio Blog
量子位
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 聂微东
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
大猫的无限游戏
大猫的无限游戏
Y
Y Combinator Blog
Stack Overflow Blog
Stack Overflow Blog
D
Docker
MyScale Blog
MyScale Blog
小众软件
小众软件
云风的 BLOG
云风的 BLOG
美团技术团队
Microsoft Azure Blog
Microsoft Azure Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Last Week in AI
Last Week in AI
Apple Machine Learning Research
Apple Machine Learning Research
博客园 - 【当耐特】

遐说

2026第一场日出日落-黄山 [徒步]宁波九龙爱心线 [徒步]仙居公盂徒步+丽人谷溯溪(多图) 文献引用批量标注蓝色-Zotero/EndNote [出差]内蒙草原风光 [徒步]浙东小九寨 [徒步]西湖小猫线 微软Office365家庭版拼车5年180 2024浏阳跨年烟火 一路向北-广西 落日余晖——武汉东湖 博士论文盲审通过 青海出差 我开盒了我自己 hexo-butterfly+artalk无法显示文章PV浏览次数 记某站字体混淆解析方案 记第一次进藏 2024川西大环线 Python读取NetCDF文件-裁剪&计算 2024武汉东湖樱花园 zotero批量修改条目语言解决”等”和”et al”混排问题 torch_geometric_temporal安装报错找不到to_dense_adj 武汉冻雨&乡村春节 云南镇雄县凉水村滑坡:卫星影像解析 博客聚合平台RSS订阅-BlogFinder&博友圈&十年之约 腾讯云CDN正式取消免费10G流量包 2023跨年闲逛武汉 观感|小米SU7技术发布会 【留痕】解密微信聊天记录工具:年度报告、聊天导出一键搞定! 小米电脑管家 vs. MIUI+: 手机与PC协同体验大比拼!
html table 批量转 Excel(xlsx)
Dorad · 2020-07-12 · via 遐说

发表于|更新于|编程Python

|总字数:243|阅读时长:1分钟|浏览量:|

由于实验设备导出的数据为 html 格式,单个 html 文件达到 10-200M。采用 python 脚本,批量将 html 中的 table 批量转为 Excel,并导出到文件。

¶主要流程

    1. 采用 Beautifulsoup 4 库进行解析,获取 html 中的 table;
    1. 采用 pandas 解析 table 库中的数据,并进行整合;
    1. 将整合后的 DataFrame 导出到各 Sheet,并保存到文件。

html 浏览器视图

¶依赖包

  • bs4

  • pandas

¶主要代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
from bs4 import BeautifulSoup
import pandas as pd
print('Reading Started')
html_id=2
html=BeautifulSoup(open('Ma-%s-statistics.html'%html_id,'r').read())
tables=html.find_all('table',class_='Data')
print('Reading Finished')
SHEETS=[]
for i in range(8):
SHEETS.append(pd.DataFrame())
for i,table in enumerate(tables):
df = pd.read_html(str(table))[0]
if i/8<1:
SHEETS[i%8]=df
else:
SHEETS[i%8]=SHEETS[i%8].append(df)
print('Handling %s/%s'%(i,len(tables)))

writer = pd.ExcelWriter('output-%s.xlsx'%html_id)
for i in range(8):
SHEETS[i%8].to_excel(writer,'Sheet%s'%i,index=False)
print('Saving %s/%s'%(i,8))
writer.save()
print('Finished')

Dorad, ddxid@outlook.com

版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 遐说

请喝果茶

  • Wechat

    Wechat

  • Alipay

    Alipay