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个回答

帖代码的时候建议区分好缩进再帖,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))

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐