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))

    评论

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码