【问题标题】:Parse Json data to Excel将 Json 数据解析为 Excel
【发布时间】:2015-07-24 14:54:33
【问题描述】:

我在此链接上有可用的 Json 格式的数据: Json Data

完成这项工作的最佳方法是什么?我知道这可以通过 Python 完成,但不确定如何。

【问题讨论】:

标签: python json excel parsing web-scraping


【解决方案1】:

使用 urllib 模块从 url 中获取详细信息。

import urllib

url = "http://www.omdbapi.com/?t=UN%20HOMME%20ID%C3%89AL"
res = urllib.urlopen(url)
print  res.code
data = res.read()

通过 json 模块

解析数据为 JSON。

import json
data1 = json.loads(data)

使用 xlwt 模块创建 xls 文件。

data =  {"Title":"Un homme idéal","Year":"2015","Rated":"N/A",\
         "Released":"18 Mar 2015","Runtime":"97 min","Genre":"Thriller",\
         "Director":"Yann Gozlan","Writer":"Yann Gozlan, Guillaume Lemans, Grégoire Vigneron",\
         "Actors":"Pierre Niney, Ana Girardot, André Marcon, Valeria Cavalli",\
         "Plot":"N/A","Language":"French","Country":"France","Awards":"N/A",\
         "Poster":"N/A","Metascore":"N/A","imdbRating":"6.3","imdbVotes":"214",\
         "imdbID":"tt4058500","Type":"movie","Response":"True"}

import xlwt
book = xlwt.Workbook(encoding="utf-8") 
sheet1 = book.add_sheet("AssetsReport0")

colunm_count = 0
for title, value in data.iteritems():
    sheet1.write(0, colunm_count, title)
    sheet1.write(1, colunm_count, value)
    colunm_count += 1

file_name = "test.xls"%()
book.save(file_name)

从用户那里获取 URL。

  1. 通过命令行参数

使用sys.argv 获取从命令传递的参数。

演示:

import sys
print "Arguments:", sys.argv

输出:

vivek:~/workspace/vtestproject/study$ python polydict.py arg1 arg2 arg3
Arguments: ['polydict.py', 'arg1', 'arg2', 'arg3']
  1. 通过 Raw_input() /input() 方法

演示:

>>> url = raw_input("Enter url:-")
Enter url:-www.google.com
>>> url
'www.google.com'
>>> 

注意

在 Python 2.x 中使用 raw_input()

使用 Python 3.x 的输入

【讨论】:

  • 完美,谢谢。还有我可以动态更改 URL 的方法吗?就像我每次搜索新 URL 时都不必编辑代码一样。
  • @TauseefHussain:欢迎,我们可以从命令行或用户获取 url。我将根据用户获取的网址更新答案。
【解决方案2】:

在 Python 中从 URL 获取数据(并打印):

import requests

r = requests.get('http://www.omdbapi.com/?t=UN%20HOMME%20ID%C3%89AL')
print(r.text)

在 Python 中解析 json

import requests
import json

r = requests.get('http://www.omdbapi.com/?t=UN%20HOMME%20ID%C3%89AL')
json.loads(r.text)

您将拥有一个 JSON 对象。

要将 JSON 转换为 tsv,您可以使用 tablib

在 Python 中创建 excel 文档 你可以使用openpyxl(更多工具在python-excel.org)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-03
    • 2014-05-29
    • 2014-05-19
    • 2015-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多