由于实验设备导出的数据为 html 格式,单个 html 文件达到 10-200M。采用 python 脚本,批量将 html 中的 table 批量转为 Excel,并导出到文件。
主要流程
- 
- 采用 Beautifulsoup 4库进行解析,获取html中的table;
 
- 
- 采用 pandas解析table库中的数据,并进行整合;
 
- 
- 将整合后的 DataFrame导出到各Sheet,并保存到文件。
 

依赖包
主要代码
| 12
 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 BeautifulSoupimport 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')
 
 | 
Author
Dorad, ddxid@outlook.com