在Python中将JSON文件转换为CSV

时间:2016-12-13 11:11:03

标签: python json csv

我正在尝试将JSON文件转换为CSV,因此我可以读取数据:“id”,“title”,“channel ID”(下面的示例)。我是初学者,很难找到一个解决方案。但是,我正在尝试下面的代码,我收到错误:

“文件”converse.py“,第5行,(模块)items_parsed = json.loads(items)NameError:名称'items'未定义”。

我正在使用的脚本是:

import json

import csv

items_parsed = json.loads(items)

items_data = items_parsed['items']

# open a file for writing

items_data_output = open(r'C:\Users\ciszewskij\Desktop\YouTube\items_data_output.csv', 'w')

# create the csv writer object

csvwriter = csv.writer(items_data_output)

count = 0

for items in items_data:

if count == 0:

         header = items.keys()

         csvwriter.writerow(header)

         count += 1

  csvwriter.writerow(items.values())

items_data_output.close()

以下是来自JSON文件的示例:

    {
 "kind": "youtube#videoListResponse",
 "etag": "\"gMxXHe-zinKdE9lTnzKu8vjcmDI/a3mLolGMIuGWUS6prd_fSkWBK8c\"",
 "pageInfo": {
 "totalResults": 1,
 "resultsPerPage": 1
 },
 "items": [
  {


   "kind": "youtube#video",
   "etag": "\"gMxXHe-zinKdE9lTnzKu8vjcmDI/Dv8RZiEKwUBsQIzhG2G0UrgyGKA\"",
   "id": "FiZlVR7UxiQ",
   "snippet": {
"publishedAt": "2016-09-07T14:12:12.000Z",
"channelId": "UC8_MMK_ePSIQf0cRvX63RkQ",
"title": "Babusia - RODZINA PIRATÓW odc. 04 (PL)",
"description": "Rodzina piratów to serial animowany opowiadający o rodzinie       
  piratów, która mieszka na wyspie wraz z innymi mieszkańcami. Co dzień  
  pirat Wiktor Mac Bernic poszukuje skarbów, które są ukryte na wyspie.    
  Jednak przeszkadza mu w tym jego sąsiad Albert Derekin wraz z jego  
  rodziną. Na dodatek jego syn jest zakochany w Krewetce, czyli córce 
  Wiktora.",
 "thumbnails": {
 "default": {
  "url": "https://i.ytimg.com/vi/FiZlVR7UxiQ/default.jpg",
  "width": 120,
  "height": 90
 },

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您没有打开并阅读json文件,这就是items未定义的原因。

items = open(...).read()