qq_35429908 2017-07-31 13:18 采纳率: 0%
浏览 1323

python获取数据后导入excel问题?

图片说明
我想根据爬取出来的数据,导入excel中,代码如下:
import requests
import os
import re
from openpyxl.workbook import Workbook

url='http://www.shfe.com.cn/data/dailydata/kx/kx20170714.dat'
data_list=requests.get(url).text
for str_data_list in data_list.split(","):
pattern=re.compile(r'[^\w]')
tihuan=re.sub(pattern,",",str_data_list)
keyword=["DELIVERYMONTH","OPENPRICE","HIGHESTPRICE","LOWESTPRICE","CLOSEPRICE"]
tihuan = list(tihuan.split(','))
tihuan = list(filter(bool, tihuan))
for i in range(len(tihuan)):
if tihuan[i] in keyword:
try:
item = tihuan[i+1]
except IndexError:
item = None
wb=Workbook()
ws=wb.worksheets[0]
arr1=[]
arr2=[]
for row in range(1,10):
a1=ws.cell(row=row,column=1,value="{0}".format(tihuan[i]))
a2=ws.cell(row=row,column=2,value="{0}".format(item))
if a1:
arr1.append(a1)
if a2:
arr2.append(a2)
wb.save('test.xlsx')
但是得到的结果却是:
图片说明
想不明白问题在哪里,烦请帮忙下,不胜感谢!

  • 写回答

1条回答 默认 最新

  • crazyskady 2017-08-01 14:12
    关注

    帖代码的时候建议区分好缩进再帖,python的代码依靠缩进来判断逻辑。

    按照你的代码,下一段的代码中的i和item,应该是没有赋值,而是使用的上一个for循环之后的最后一个值,所以导致了这个现象:
    for row in range(1,10):
    a1=ws.cell(row=row,column=1,value="{0}".format(tihuan[i]))
    a2=ws.cell(row=row,column=2,value="{0}".format(item))

    评论

报告相同问题?

悬赏问题

  • ¥15 求解 yolo算法问题
  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝