如果csv存储为变量,如何使用pandas read_csv()方法?

时间:2019-07-01 20:55:58

标签: python pandas csv python-requests

我正在尝试使用Google电子表格中的数据,将其读取到csv中,然后使用pandas.read_csv()作为数据框使用。

我可以将csv读取到一个变量中(下面是变量“ data”),但是不能在该变量上使用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新手,所以我可能缺少一些明显的东西。谢谢!

2 个答案:

答案 0 :(得分:2)

如果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"])

答案 1 :(得分:2)

您可以使用StringIO执行此操作:

import pandas as pd
import io
import requests
url="I put my google sheets csv url here"
s=requests.get(url).content
c=pd.read_csv(io.StringIO(s.decode('utf-8')))