【发布时间】:2018-03-21 19:49:38
【问题描述】:
我是 python 的新程序员,我需要你的帮助。如果我在 chrome https://api.mysportsfeeds.com/v1.1/pull/nhl/2016-2017-regular/cumulative_player_stats.{format} 中加载以下网址,其中{format} 可能是csv 或json 格式,那么一旦下载并打开,该文件已经格式化。如何使用pandas 或openpyxl 将其转换为Excel 工作表?
更新
import base64
import requests
import json
USERNAME, PASSWORD = 'notworking', 'notworking'
def send_request():
# Request
try:
response = requests.get(
url="https://api.mysportsfeeds.com/v1.1/pull/nhl/2017-2018-regular/cumulative_player_stats.csv",
params={
"fordate": "20171009"
},
headers={
"Authorization": "Basic " +
base64.b64encode('{}:{}'.format(USERNAME,PASSWORD)\
.encode('utf-8')).decode('ascii')
}
)
print('Response HTTP Status Code: {status_code}'.format(
status_code=response.status_code))
print('Response HTTP Response Body: {content}'.format(
content=response.content))
except requests.exceptions.RequestException:
print('HTTP Request failed')
return response
import pandas as pd
import io
test = send_request().content
df = pd.read_csv(io.StringIO(test.decode('utf-8')))
writer = pd.ExcelWriter('/home/jeremie/Projects/Work_Projects/NHL_project/output.xls')
df.to_excel(writer, 'Sheet1')
我正在努力解决我的代码似乎可以正常工作但没有创建文件的事实。
【问题讨论】:
-
欢迎来到 StackOverflow。在 SO 中,需要显示您已经尝试过的一段代码,并且您不能再进一步,否则您的问题将被描述为太宽泛。
-
@YannisP。好的,我会尝试一下,但到目前为止对我来说很难。
-
在您的情况下,使用 pandas
read_csv将 csv 读取到 DataFrame,然后使用DataFrame的方法to_excel将其写入 Excel。 -
我们很难回答,尤其是因为数据是从需要凭据的 API 提供的
-
@YannisP。请注意,一旦连接到 mysportsfeeds,即可免费下载。
标签: python json excel pandas csv