【发布时间】:2018-02-21 10:35:51
【问题描述】:
我是一名初学者,试图推进我通过教程学到的项目。该项目包括从美国地质调查局导入一个 csv 文件并将其数据绘制在地图上。
我在使用位于我计算机中的文件时设法做到了。但是,我无法直接从 url 获取 csv,以便数据可以自行更新。
现在我正在使用 pandas 并收到此错误:
文件“C:/Users/Felipe/PycharmProjects/earthquake/earthquake.py”,行 6、在 使用 open(filename) as csvfile: TypeError: expected str, bytes or os.PathLike object, not DataFrame
import pandas as pd
filename = pd.read_csv('https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_hour.csv')
lats, lons = [], []
with open(filename) as f:
reader = csv.reader(f)
next(reader)
for row in reader:
lats.append(float(row[1]))
lons.append(float(row[2]))
print('lats', lats[0:5])
print('lons', lons[0:5])
这部分代码是我试图检索 de csv 文件的地方。
我相信(同样,我是初学者)pandas 实际上为我提供了已经“处理”的数据(不再是 csv),并且我尝试使用的工具可用于 csv 文件本身(这是我试图理解错误,我确定我可能错了,但我想不出别的)。
我尝试查看 pandas 文档,但找不到太多关于“DataFrame”错误的信息。导入文件后我也尝试使用“.to_csv”,但没有成功。
那么,tl;dr 我怎样才能绕过这段代码并导入一个 csv 文件并使用它的数据?
我还有一些额外的问题我找不到答案:关于“with open(filename) as f:”“f”是做什么的?
非常感谢!
【问题讨论】:
-
df = pd.read_csv('https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_hour.csv')- 将为您提供正确解析的 DataFrame... -
感谢您的回答,比我想象的要简单得多。
-
不客气! :) 仅供参考:你可以accept only one answer