【发布时间】:2021-11-12 09:33:16
【问题描述】:
我是 Python 新手,我的代码遇到了一个奇怪的问题。以下是我遇到问题的代码部分。该代码正在获取一个 csv 文件并将其存储到一个数组中。
import requests
objNSEResponse = requests.get("https://www.nseindia.com" , headers = { "Referer":"https://www.nseindia.com" , "User-Agent":"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"})
objNSECookieJar = objNSEResponse.cookies
objNSEResponse = requests.get("https://www.nseindia.com/api/reportGSM?csv=true" , headers = {"Referer":"https://www.nseindia.com" , "User-Agent":"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"} , cookies = objNSECookieJar)
arrNSEGSMList = map(lambda arrNSEGSMRecord : arrNSEGSMRecord.replace("\"","").split(","), objNSEResponse.content.decode("utf-8-sig").replace("\n\"","\"").split("\n"))
print(list(arrNSEGSMList))
# delete unnecessary values
arrNSEGSMList = numpy.array(list(arrNSEGSMList1))
arrNSEGSMList = numpy.delete(arrNSEGSMList, [0], axis=0) # delete header row
arrNSEGSMList = numpy.delete(arrNSEGSMList, [2,3,4], axis=1) # delete all columns except stock symbol and serial number
每当我插入语句:print(list(arrNSEGSMList)),我都会在以下语句:arrNSEGSMList = numpy.delete(arrNSEGSMList, [0], axis=0) 中得到“IndexError:index 0 is out of bounds for axis 0 with size 0”。由于此打印语句,创建了零长度的 numpy 数组。如果我删除打印语句,那么一切都会毫无问题地执行。我在数组“arrNSEGSMList”中得到了我需要的数据。我无法弄清楚它的原因。
【问题讨论】:
-
您显然是在尝试读取 CSV - 为什么不使用
csv模块..?
标签: python python-3.x numpy