Python对CSV的请求

Python对CSV的请求,python,pandas,api,url,python-requests,Python,Pandas,Api,Url,Python Requests,我一直在尝试将JSON请求API结果提取到csv中,但我遇到了麻烦 到目前为止,下面的代码返回终端中的值 import requests import csv import json from pprint import pprint import urllib import pandas as pd url = "https://esi.evetech.net/latest/markets/10000002/orders/?datasource=tranquility&or

我一直在尝试将JSON请求API结果提取到csv中,但我遇到了麻烦

到目前为止,下面的代码返回终端中的值

import requests
import csv
import json
from pprint import pprint
import urllib
import pandas as pd

url = "https://esi.evetech.net/latest/markets/10000002/orders/?datasource=tranquility&order_type=all&page=1"

payload={}
headers = {}
r = {}

response = urllib.request.urlopen(url)

text = response.read()
json_data = json.loads(text)

pprint(json_data)
df = pd.read_json(r)
df.to_csv("output.csv")
但是,我返回了一个关于Dictionary类的错误?(抱歉,我对编码不是很熟悉)

最后一个问题是,在url变量的page=1之外继续url请求的逻辑是什么?(order_type=all&page=1)我不知道系统有多少页


谢谢

上面的代码可以重现错误,并且看起来像是
urlib
库中的一些编码错误。但是我能够使用python
requests
模块成功地加载数据

import requests
url = "https://esi.evetech.net/latest/markets/10000002/orders/datasource=tranquility&order_type=all&page=1"
response = requests.get(url)
data = response.text
df = pd.read_json(data)
df.to_csv("output.csv")

上述代码可以重现该错误,并且看起来像
urlib
库中的某些编码错误。但是我能够使用python
requests
模块成功地加载数据

import requests
url = "https://esi.evetech.net/latest/markets/10000002/orders/datasource=tranquility&order_type=all&page=1"
response = requests.get(url)
data = response.text
df = pd.read_json(data)
df.to_csv("output.csv")

您已经完成了
r={}
,然后又完成了
df=pd.read_json(r)
,那么为什么会这样呢

您可以执行以下任一操作:

# from your code, above
text = response.read()

# create DF from serialized JSON data (a string)
df = pd.read_json(text)
或:


而行
import-urllib
应该是
import-urllib.request
。或者只使用“requests”包,您也已经导入了该包


第2部分:


要获取所有页面,请不断增加
page
的值,直到得到错误或空响应。(问这么多不相关的问题是不好的形式。)看看你是怎么做的。

你已经做了
r={}
,然后
df=pd.read_json(r)
,那为什么会这样呢

您可以执行以下任一操作:

# from your code, above
text = response.read()

# create DF from serialized JSON data (a string)
df = pd.read_json(text)
或:


而行
import-urllib
应该是
import-urllib.request
。或者只使用“requests”包,您也已经导入了该包


第2部分:


要获取所有页面,请不断增加
page
的值,直到得到错误或空响应。(问多个不相关的问题是不好的形式。)请看如何。

你能把你得到的错误跟踪贴到问题上吗你能把错误跟踪贴到问题上吗完美的,这解决了我有点困惑,因为我以前从未使用过熊猫-对页面有任何建议=1?顺便说一句,如果你对答案满意,它被编辑了。或者尝试用提供的链接编写代码,或者发布一个新问题。很好,这解决了我的困惑,因为我以前从未使用过熊猫-对页面的任何建议=1?顺便说一句,如果你对答案满意,请编辑它。或者尝试用提供的链接编写代码,或者发布一个新问题。这也很有效,非常感谢!我正在努力找到一种方法,现在页面=1也能正常工作,非常感谢!我现在正想办法把页面设为=1