用python从https.csv创建表

v440hwme  于 2023-11-14  发布在  Python
关注(0)|答案(1)|浏览(113)

我是新的Python,但我试图从一个API,稍后我想进入我们的SQL数据库的数据。我有代码的开始,给了我一个200状态码。我用这个代码;

url = "https://api.squeezely.tech/v1/reporting/events"

fields = {
        "from" : "2020-01-01" , 
        "to" : "2026-01-01",
        "custom_fields" : "no"}

json=json.dumps(fields)

headers={"X-AUTH-ACCOUNT" :"our account",
         "X-AUTH-APIKEY" :"our key",
         "Content-Type" : "application/json",
         "charset" : "UTF-8",
         "allow_redirects" : "false"}

response = requests.post(url, json=fields, headers=headers)

print(response.text)

字符串
我得到的状态码是200,我得到的响应.文本是{"success":true,"url":"https: xxxx .csv"}
我试着用pandas阅读https . csv网址;

response = requests.post(url, json=fields, headers=headers)
data = pd.read_csv(response)
Print(data)


但这产生了以下错误:
“ValueError:无效的文件路径或缓冲区对象类型:<class'requests.models. Response'>”
有人可以帮助我如何阅读的回应,以获得一个表

dxxyhpgq

dxxyhpgq1#

问题中的response看起来像是一个JSON响应,其中包含一个CSV文件的URL,据推测,这就是您要查找的数据。
下面是如何将CSV数据读取到pandas DataFrame中的方法(假设这是您的意图):

import pandas as pd 
import requests
import io

json_data = {"success":true,"url":"https://xxxx.csv"}

csv_url = json_data['url']

# download CSV data 
new_response = requests.get(csv_url)

# read CSV data into pandas DataFrame
df = pd.read_csv(io.StringIO(new_response.text))

print(df)

字符串
我称之为new_response,以便与原始响应区分开来。

相关问题