如何通过python解析html格式的excel工作表?

如何通过python解析html格式的excel工作表?,python,html,excel,Python,Html,Excel,我有一个excel表格,实际上是一个html表格(必须在excel上保存为“另存为网页”)。当我在文本编辑器中打开.xls时,它以以下内容开始: <html xmlns:o='urn:schemas-microsoft-com:office:office'xmlns:x='urn:schemas-microsoft-com:office:excel'xmlns='http://www.w3.org/TR/REC-html40'><head><meta http-eq

我有一个excel表格,实际上是一个html表格(必须在excel上保存为“另存为网页”)。当我在文本编辑器中打开.xls时,它以以下内容开始:

<html xmlns:o='urn:schemas-microsoft-com:office:office'xmlns:x='urn:schemas-microsoft-com:office:excel'xmlns='http://www.w3.org/TR/REC-html40'><head><meta http-equiv=Content-Type content='text/ss; charset=windows-1252'><meta name=ProgId content=Excel.Sheet><meta name=Generator content='Microsoft Excel 10'><style>@page {margin:.7in .7in .7in .7in; mso-page-number-start:1; mso-header-data:'&R&B&D &T'; mso-footer-data:'&C&B Page &P of &N'; mso-page-orientation:landscape;  } 
 td.num0 {
 mso-number-format:\#\,\#\#0;
 } 

 td.num1 {
 mso-number-format:\#\,\#\#0.0;
 } 

 td.num2 {
 mso-number-format:\#\,\#\#0.00;
 } 

 td.num3 {
 mso-number-format:\#\,\#\#0.000;
 } 

 td.num4 {
 mso-number-format:\#\,\#\#0.0000;
 } 

 td.num5 {
 mso-number-format:\#\,\#\#0.00000;
 } 

 td.num6 {
 mso-number-format:\#\,\#\#0.000000;
 } 

 td.text {
 mso-number-format:\@;
 } 

 td.date1 {
 mso-number-format:mm\/yyyy;
 } 

 td.date2 {
 mso-number-format:'Short Date';
 } 
</style><!--[if gte mso 9]><xml> <x:ExcelWorkbook>  <x:ExcelWorksheets>   <x:ExcelWorksheet> <x:Name>report1</x:Name>   <x:WorksheetOptions> <x:DisplayPageBreak/>   <x:FitToPage/>  <x:Print>  <x:ValidPrinterInfo/> <x:FitWidth>1</x:FitWidth> <x:FitHeight>990</x:FitHeight>  </x:Print>  <x:Selected/>  <x:ProtectContents>False</x:ProtectContents>  <x:ProtectObjects>False</x:ProtectObjects>   <x:ProtectScenarios>False</x:ProtectScenarios>  </x:WorksheetOptions> <x:PageBreaks> <x:RowBreaks> <x:RowBreak> <x:Row>43</x:Row> </x:RowBreak> </x:RowBreaks>  </x:PageBreaks> </x:ExcelWorksheet>  </x:ExcelWorksheets>    <x:ProtectStructure>False</x:ProtectStructure>  <x:ProtectWindows>False</x:ProtectWindows>  </x:ExcelWorkbook>  <x:ExcelName>   <x:Name>Print_Titles</x:Name>   <x:SheetIndex>1</x:SheetIndex>  <x:Formula>=report1!$1:$5</x:Formula>   </x:ExcelName> </xml><![endif]--></HEAD><BODY>
@page{margin:.7in.7in.7in.7in;mso页码开始:1;mso页眉数据:'&R&B&D&T';mso页脚数据:'&C&B页面&P of&N';mso页面方向:横向;}
td.num0{
mso编号格式:0;
} 
td.num1{
mso编号格式:0.0;
} 
td.num2{
mso编号格式:0.00;
} 
td.num3{
mso编号格式:0.000;
} 
td.num4{
mso编号格式:0.0000;
} 
td.num5{
mso编号格式:0.00000;
} 
td.num6{
mso编号格式:0.000000;
} 
td.text{
mso编号格式:\@;
} 
td.date1{
mso编号格式:mm\/yyyy;
} 
td.date2{
mso编号格式:“短日期”;
} 

有什么东西可以用来解析这种格式吗

您是否尝试在浏览器中打开它?如果可行,最好的方法是将表格从浏览器复制到Excel或其他电子表格应用程序中,并将其另存为CSV。Python有很好的库来处理CSV文件(还有xlsx文件)。excel文件已经是.xls格式(但是在文本编辑器中打开,数据是用html编写的)。我想知道是否有一种直接的方法来解析数据,而不是将所有内容转换为实际的xls(这种html格式中有很多文件),您提交的示例中没有任何实际数据。这就是整个文件的内容吗?Python中有几个XML解析库。您可以使用其中的一个。不,它只是显示代码的开头。不幸的是,它不是xml格式的。它是一个.xls。我可以使用xml解析器读取.xls吗?除非您想编写自定义解析器,否则我会先尝试。根据您选择的库,它可以得到您想要的。