|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
本帖最后由 Gym_Rat 于 2019-3-11 16:08 编辑
爬取数据时写入excel失败,报错如下:
本来以为是日期数据的格式问题,但对字符串操作后发现还是不行。
报错有点看不懂,求教!
源代码如下:
- import requests
- from bs4 import BeautifulSoup
- import bs4
- import openpyxl
- def getHTMLText(url):
- try:
- r = requests.get(url, timeout=30)
- r.raise_for_status()
- r.encoding = r.apparent_encoding
- return r.text
- except:
- return ""
- def fillData(datalist, html):
- soup = BeautifulSoup(html, "html.parser")
- for tr in soup.table.children:
- if isinstance(tr, bs4.element.Tag):
- tds = tr('td')
- if tds[0].text[0] == '\r':
- x = tds[0].string[-10:]
- tds[0].string = x.replace('-', '')
- datalist.append([tds[0].string, tds[1].string, tds[2].string, tds[3].string, tds[4].string, tds[5].string, tds[6].string, tds[7].string, tds[8].string, tds[9].string])
- def saveData(datalist):
- wb = openpyxl.Workbook()
- ws = wb.active
-
- for i in datalist:
- ws.append(i)
- wb.save("成都市2月空气质量数据.xlsx")
- def main():
- url = "http://www.tianqihoubao.com/aqi/chengdu-201902.html"
- datalist = []
- html = getHTMLText(url)
- fillData(datalist, html)
- saveData(datalist)
- main()
复制代码
本帖最后由 snaker 于 2019-3-12 14:02 编辑
可以用xlwt库
- wb = xlwt.Workbook() #创建一个工作簿
- ws = wb.add_sheet('sheet1') #增加一个sheet1的工作表
- for i in range(len(datalist)): #遍历所有行
- for j in range(len(datalist[i])): #遍历这一行的所有列
- ws.write(i,j,datalist[i][j]) #在i行j列插入数据
- wb.save('成都市2月空气质量数据.xls') #保存
复制代码
|
|