首页 > 解决方案 > 如果 csv 存储为变量,您如何使用 pandas read_csv() 方法?

问题描述

我正在尝试处理谷歌电子表格中的数据,将其读入 csv,然后使用 pandas.read_csv() 将其作为数据框处理。

我可以将 csv 读入一个变量(下面的变量“数据”),但不能在变量上使用 pandas.read_csv()。我尝试使用 os.cwd() 等将其转换为字符串。

r = requests.get('I put my google sheets url here')
data = r.text
print(data)

#csv is printed out properly

df = pd.read_csv(filepath_or_buffer = data, header = 1, usecols = ["Latitude", "Longitude"])
print(df)

无论我尝试什么,我总是会收到 FileNotFoundException。

我是 python 新手,所以我可能遗漏了一些非常明显的东西。谢谢!

标签: pythonpandascsvpython-requests

解决方案


如果 to 的第一个参数read_csv是一个字符串(就像你的情况一样),它会将它视为它尝试打开的文件路径。因此出现 FileNotFoundException。

您需要将数据保存在类似文件的对象中。尝试像这样使用 io.StringIO :

import io

r = requests.get('I put my google sheets url here')
data = r.text
buffer = io.StringIO(data)

df = pd.read_csv(filepath_or_buffer = buffer, header = 1, usecols = ["Latitude", "Longitude"])

推荐阅读