[英]How to print json data from url to excel?
import urllib
import json
import re
import csv
from bs4 import BeautifulSoup
game_code = open("/Users//Desktop/PYTHON/gc.txt").read()
game_code = game_code.split("\r")
for gc in game_code:
htmltext =urllib.urlopen("http://cluster.leaguestat.com/feed/index.php?feed=gc&key=f109cf290fcf50d4&client_code=ohl&game_id="+gc+"&lang_code=en&fmt=json&tab=pxpverbose")
soup= BeautifulSoup(htmltext, "html.parser")
j= json.loads(soup.text)
summary = ['GC'],['Pxpverbose']
for event in summary:
print gc, ["event"]
我似乎無法訪問 lib 來打印正確的標題和行。 我最終想將特定行導出到 csv。 我2天前下載了python,所以我很新。 我需要一個項目的這個數據集。 任何建議或方向將不勝感激。
如果有人想看一看,這里有一些游戲代碼。 謝謝
21127,20788,20922,20752,21094,21196,21295,21159,21128,20854,21057
這里有一些想法:
requests
作為 urllib 的替代方案,可以滿足您在 Python 中的所有 HTTP 需求(您可能需要pip install requests
)。requests
帶有一個內置的 json 解碼器(你不需要 BeautifulSoup)。csv
) 來打印標題和數據行。 您還可以使用此模塊將數據寫入文件。dict
) 返回,這是一種由keys索引的數據結構。 您可以使用這些鍵訪問數據中的值(我認為這就是“特定行”的意思)。完成您想要的許多可能的方法之一:
import requests
import csv
game_code = open("/Users//Desktop/PYTHON/gc.txt").read()
game_code = game_code.split("\r")
for gc in game_code:
r = requests.get("http://cluster.leaguestat.com/feed/index.php?feed=gc&key=f109cf290fcf50d4&client_code=ohl&game_id="+gc+"&lang_code=en&fmt=json&tab=pxpverbose")
data = r.json()
with open("my_data.csv", "a") as csvfile:
wr = csv.writer(csvfile,delimiter=',')
for summary in data["GC"]["Pxpverbose"]:
wr.writerow([gc,summary["event"]])
# add keys to write additional values;
# e.g. summary["some-key"]. Example:
# wr.writerow([gc,summary["event"],summary["id"]])
你不需要漂亮的湯; 數據可以直接從 URL 中讀取為 JSON 格式。
import urllib, json
response = urllib.urlopen("http://cluster.leaguestat.com/feed/index.php?feed=gc&key=f109cf290fcf50d4&client_code=ohl&game_id=" + gc +"&lang_code=en&fmt=json&tab=pxpverbose")
data = json.loads(response.read())
此時, data
是您網頁的解析 JSON。
Excel 可以讀取 csv 文件,因此最簡單的方法是使用此庫將您想要的數據導出到 CSV 文件中。
這應該足以讓您入門。 修改fieldnames
以在 csv 文件的列中包含特定事件詳細信息。
import csv
with open('my_games.csv', 'w') as csvfile:
fieldnames = ['event', 'id']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames,
extrasaction='ignore')
writer.writeheader()
for event in data['GC']['Pxpverbose']:
writer.writerow(event)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.