簡體   English   中英

如何將json數據從url打印到excel?

[英]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 ) 來打印標題和數據行。 您還可以使用此模塊將數據寫入文件。
  • 您的數據在 Python 中作為字典 ( 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM