当前位置: 首页 > 知识库问答 >
问题:

ParserError:标记数据出错。C错误:预期第23行有1个字段

章心水
2023-03-14

我想编制一份符合我设定标准的股票清单。我看到的是市值在150000美元到10000000美元(以百万计)之间的公司。当运行下面的代码时,我得到一个错误。我想知道我到底做错了什么

"'从get_all_tickers导入yFinance为yf,熊猫为pd,Shutil,os,time,globb,smtplib,sslget_tickers为gt

股票代码=gt。获取已筛选的股票(mktcap_最小值=150000,mktcap_最大值=10000000)

打印(“选择观察的股票数量:”str(len(tickers)))

'''

其他数据:

runfile('A:/Misc Financial Docs/stocks\u data/OBV\u Email.py',wdir='A:/Misc Financial Docs/stocks\u data')回溯(最近一次调用):

File"A:\Misc Financial Docs\stocks_data\OBV_Email.py",第13行,代码为gt.get_tickers_filtered(mktcap_min=150000,mktcap_max=10000000)

文件"c:\用户\aos82\appdata\本地\程序\python\python39\lib\site-包\get_all_tickers\get_tickers.py",第84行,get_tickers_filteredtickers_list.extend(__exchange2list_filtered(交换,mktcap_min=mktcap_min,mktcap_max=mktcap_max,扇区=扇区))

文件“c:\users\aos82\appdata\local\programs\python\python39\lib\site packages\get\u all\u tickers\get\u tickers.py”,第145行,在交换列表中过滤的df=\uu交换2df(交换)

文件“c:\users\aos82\appdata\local\programs\python\python39\lib\site packages\get\u all\u tickers\get\u tickers.py”,第134行,在u\u exchange2df df=pd中。读取csv(数据,sep=“,”)

文件“c:\users\aos82\appdata\local\programs\python\python39\lib\site packages\pandas\io\parsers.py”,第605行,在read\U csv return\U read(文件路径或缓冲区,kwds)中

文件“c:\users\aos82\appdata\local\programs\python\python39\lib\site packages\pandas\io\parsers.py”,第463行,位于读取返回解析器中。阅读(nrows)

文件“c:\users\aos82\appdata\local\programs\python\python39\lib\site packages\pandas\io\parsers.py”,第1052行,读索引,列,col_dict=self_发动机阅读(nrows)

文件“c:\users\aos82\appdata\local\programs\python\python39\lib\site packages\pandas\io\parsers.py”,第2056行,在read data=self中_读者阅读(nrows)

文件“pandas_libs\parsers.pyx”,第756行,在pandas中_图书馆。解析器。文本阅读器。阅读

文件“pandas_libs\parsers.pyx”,第771行,在pandas中_图书馆。解析器。文本阅读器_读低内存

在熊猫中文件"pandas_libs\parsers.pyx",第827行。_libs.parsers.TextReader。_read_rows

文件“pandas_libs\parsers.pyx”,第814行,在pandas中_图书馆。解析器。文本阅读器_标记化行

pandas_libs\parsers.pyx",1951行,熊猫。_libs.parsers.raise_parser_error

ParserError:标记数据时出错。C错误:SAW4第23行中应为1个字段

共有1个答案

漆雕原
2023-03-14

这似乎与纳斯达克API的新URL有关。作者在这里有一个问题:https://github.com/shilewenuw/get_all_tickers/issues/12.基本上有一个新的标题,他们使用。

import pandas as pd

headers = {
    'authority': 'api.nasdaq.com',
    'accept': 'application/json, text/plain, */*',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36',
    'origin': 'https://www.nasdaq.com',
    'sec-fetch-site': 'same-site',
    'sec-fetch-mode': 'cors',
    'sec-fetch-dest': 'empty',
    'referer': 'https://www.nasdaq.com/',
    'accept-language': 'en-US,en;q=0.9',
}

params = (
    ('tableonly', 'true'),
    ('limit', '25'),
    ('offset', '0'),
    ('download', 'true'),
)

r = requests.get('https://api.nasdaq.com/api/screener/stocks', headers=headers, params=params)`
data = r.json()['data']
df = pd.DataFrame(data['rows'], columns=data['headers'])

同样在上面的链接中,有一个贡献者为我使用的get_tickers.py文件提供了完整的替换,它对我有效。

 类似资料:
  • 当我运行这个命令时: 我收到以下错误: ~\appdata\local\continuum\anaconda3\lib\site-packages\pandas\io\parsers.py in read(self,nrows)1746 def read(self,nrows=none):1747 try:->1748 data=self._reader.read(nrows)1749除了stop

  • 我检查了这个答案,因为我有一个类似的问题。 Python在标记数据时出错 然而,由于某种原因,我的所有行都被跳过了。 我的代码很简单: 我得到的错误是:

  • 我是android编程新手。我有一个类,在这个类中,修改API调用是为了解析和显示JSON文件中的几个属性。但我得到: Java语言lang.IllegalStateException:应为BEGIN\u对象,但在第2行第1列为字符串 好心帮忙。我搜索了答案,但没有发现JSON响应有任何问题。发布了我的JSON响应和JAVA类: JSON响应: JAVA文件: 模型类:

  • 在尝试将json文本文件解析为餐厅对象的数组列表时,我遇到了错误“应为BEGIN\u数组,但在第1行第2列路径处为BEGIN\u对象。”我不知道哪里弄错了,因为我的Restaurant类中的数据成员与json文件中的字段完全对应。 主要的 餐厅类 txt文件

  • 问题内容: 尝试解码JSON 时出现错误。 我用于API调用的URL在浏览器中可以正常工作,但是通过curl请求完成时会出现此错误。以下是我用于curl请求的代码。 错误发生在 完整回溯: 追溯: 问题答案: 总结评论中的对话: 不需要使用库,Python作为模块包含了相同的库。 无需解码从UTF8到unicode的响应,/ 方法可以本地处理UTF8编码的数据。 有一个非常古老的API。除非您有特

  • 我正在尝试从德国气象局(DWD)读取天气数据。这是. txt-File的一小部分: 我尝试使用以下代码导入该文件: 但是,我收到以下错误消息: 扫描中的错误(文件 = 文件,什么 = 什么,sep = sep,引号 = 引号,dec = dec,:第 1 行没有 52 个元素 我尝试了这个问题的第一个建议,但无济于事。将整个表格粘贴到read.table-option 是不可能的,因为原始数据包含