【问题标题】:How can I get around missing data in a csv file?如何解决 csv 文件中丢失的数据?
【发布时间】:2017-09-17 20:10:18
【问题描述】:

我正在尝试从 S&P 中提取数据,但出现此错误。

FileNotFoundError: 文件 b'S&P_dfs/LMT.csv' 不存在 现在这个 是由这个错误引起的:RemoteDataError('Unable to read URL: {0}'.format(url)) pandas_datareader._utils.RemoteDataError:无法 阅读网址: http://www.google.com/finance/historical?q=LMT&startdate=Jan+01%2C+2000&enddate=Dec+20%2C+2016&output=csv

为了解决这个错误,我尝试了并接受。但现在我的下一步是从股票 csv 文件中提取财务数据。如何让 Python 运行并跳过这些丢失的文件?

【问题讨论】:

  • 你能发布你的代码吗?我是否正确你有多个 URL 并且其中一个不存在。所以你希望它跳过它,如果它丢失了?

标签: python python-3.x


【解决方案1】:

您可以将执行提取的代码包装在 try-except 块中,如下所示:

try:
   # Code that does the fetching from the urls
except pandas_datareader._utils.RemoteDataError as e:
   # Silence the error / skip the "bad" email 
   pass

虽然这不是鼓励的行为,但它肯定不适合生产。

更好的方法是至少跟踪哪些网址是“坏的”:

bad_urls={}

try:
   # Code that does the fetching from the urls
except pandas_datareader._utils.RemoteDataError as e: 
   bad_urls[url] = message

【讨论】:

  • 谢谢。跟踪 URL 会做什么?
  • 如果对您有帮助,请考虑支持/接受回复。跟踪消息可用于在后处理步骤中筛选它们。您还可以编写日志记录机制等,并为那些“坏”网址提供后备。
猜你喜欢
  • 2020-10-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-19
  • 1970-01-01
  • 2020-10-17
  • 1970-01-01
相关资源
最近更新 更多