找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 1190|回复: 0

[求助] 到上证所下载excel文件解码问题,求帮忙?

2

主题

4

帖子

4

积分

贫民

积分
4
putu 发表于 2022-10-13 10:48:59 | 显示全部楼层 |阅读模式
想到上证所下载股票列表的excel文件

from tokenize import Ignore
from urllib import request
import pandas as pd
#Download A-Stock stock list
#sse_stock_list_url = ‘http://query.sse.com.cn/security ... me=&stockType=1
sse_stock_list_url = "http://query.sse.com.cn//sseQuery/commonExcelDd.do?sqlId=COMMON_SSE_CP_GPJCTPZ_GPLB_GP_L&type=inParams&CSRC_CODE=&STOCK_CODE=&REG_PROVINCE=&STOCK_TYPE=1&COMPANY_STATUS=2,4,5,7,8"
request_headers = {'X-Requested-With': 'XMLHttpRequest',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36 Edg/106.0.1370.37',
'Referer': 'http://www.sse.com.cn/assortment/stock/list/share/'
}
req = request.Request(sse_stock_list_url, headers=request_headers)
resp = request.urlopen(req)
result = resp.read().decode('gb2312')          #please use gb2312 to decode otherwise you will not get correct data
print(result)
from io import StringIO
TESTDATA = StringIO(result)
df = pd.read_csv(TESTDATA, sep='\t')
print(df)

.result = resp.read().decode('gb2312')  这句话提示:UnicodeDecodeError: 'gb2312' codec can't decode byte 0xb1 in position 5: illegal multibyte sequence
用utf8也不行,求大师看看是什么原因,谢谢

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表