【发布时间】:2017-10-09 17:05:40
【问题描述】:
import base64
import requests
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.{format}",
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')
该代码允许我从 mysportsfeeds.com 提取数据。最终,我需要获取 send_request 函数的输出并将其格式化为带有 openpyxl 库的 .xlsx 文件。我不知道哪种格式最容易处理,即csv 或json 格式的输出。
优秀的website 会告诉你如何得到cumulate_player_stats 的输出。
例如,
https://api.mysportsfeeds.com/v1.1/pull/nhl/2016-2017-regular/cumulative_player_stats.{format}
其中{format} 是csv 或json
问题:
什么是更好的选择:csv 格式的输出或json 格式的输出,以便与openpyxl lib 一起工作?谁能告诉我它如何与csv(使用csv 库)和json(使用json 库)一起使用openpyxl?
【问题讨论】:
-
使用什么格式取决于个人喜好。您应该将其分解为多个阶段,因此不要考虑 csv 或 json 是否会更好地与 openpyxl 一起工作,而是向后工作......找出输出 openpyxl 所需的格式(例如列表或字典等) ,然后您可以使用 json 或 csv 并将其转换为该格式。我个人觉得 csv 更容易,但这取决于数据。
-
以 CSV 格式请求数据将允许您将数据无缝转储为 Excel 格式。
-
JSON 是没有外部格式参数的标准。 CSV 是“标准的伟大之处在于有这么多可供选择”的示例。另外,它需要作者和读者沟通,字符编码、行分隔符、字段分隔符、文本限定符、文本限定符转义机制、是否有标题行、每列的类型是什么。有些程序很适合猜测这些事情,但通常需要人工现场指导。
标签: python json excel csv openpyxl