1

我正在尝试(使用一个小的 python 脚本)将来自在线网页的 HTML 表格的内容放入 Excel 工作表中。

一切都运行良好,除了“Excel的东西”。

#!/usr/bin/python
# --*-- coding:UTF-8 --*--

import xlwt
from urllib2 import urlopen
import sys
import re
from bs4 import BeautifulSoup as soup
import urllib

def BULATS_IA(name_excel):
    """ Function for fetching the BULATS AGENTS GLOBAL LIST"""

 ws = wb.add_sheet("BULATS_IA") # I add a sheet in my excel file

    Countries_List = ['United Kingdom','Albania','Andorra']
    Longueur = len(Countries_List)
    number = 1 


    print("Starting to fetch ...")

    for Countries in Countries_List:
        x = 0
        y = 0

        print("Fectching country %s on %s" % (number, Longueur))
        number = number + 1
        htmlSource = urllib.urlopen("http://www.cambridgeesol.org/institutions/results.php?region=%s&type=&BULATS=on" % (Countries)).read()
        s = soup(htmlSource)
        **tableauGood = s.findAll('table')
        try:
            rows = tableauGood[3].findAll('tr')
            for tr in rows:
                cols = tr.findAll('td')
                y = 0
                x = x + 1
                for td in cols:
                    hum =  td.text

                    ws.write(x,y,td.text)
                    y = y + 1
                    wb.save("%s.xls" % name_excel)**

        except (IndexError):
            pass

    print("Finished for IA")



name_doc_out = raw_input("What do you want for name for the Excel output document ? >>> ")
wb = xlwt.Workbook(encoding='utf-8')
print("Starting with BULATS Agents, then with BULATS IA")
#BULATS_AGENTS(name_doc_out)
BULATS_IA(name_doc_out)

- 所以 Excel 表中会发生任何事情,但是当我打印 var 的内容时......我看到了我应该看到的!

一小时以来我一直在尝试修复它,但我仍然不明白发生了什么。如果你们中的一些人可以帮我一把,那应该非常好。

4

1 回答 1

0

我已经尝试了您的应用程序。而且我非常确定 td.text 的输出与 excel 文件相同。那么你的问题是什么?如果内容不是您想要的,您应该检查 BeautifulSoap 的使用情况。此外,您可能需要执行以下操作:

           for td in cols:
                hum =  td.text.replace(" ", " ")
                print hum
                ws.write(x,y,hum)
于 2012-04-19T06:38:08.350 回答