2016-12-13 8 views
0

Я пытаюсь преобразовать файл JSON в CSV, чтобы я мог читать данные типа «id», «title», «ID канала» (пример ниже). Я очень новичок, и мне трудно найти душу. Тем не менее, я пытаюсь выполнить код ниже, и я получаю ошибку:Преобразование файла JSON в CSV в Python

«Файл« converse.py », строка 5, in (module) items_parsed = json.loads (items) NameError: name '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 
}, 

Заранее спасибо за помощь!

+0

Вы указываете 'items_parsed = json.loads (items)' - что такое 'items'? Кажется, вы не назначили его. – asongtoruin

+1

вы json код не cpmplete –

+0

Tahnks много для ответов! Правильно, json-код не является полным, я не хотел пропустить весь код здесь, так как он довольно большой. Что касается json-файла и «Items»: этот json-файл - это youtube # playlistItemListResponse. В разделе «Элементы» я понял элементы плейлиста, такие как «channelID», «title», «description» и т. д., присутствующие в json-файле. Таким образом, на самом деле вопрос заключается в том, как преобразовать такой файл в csv. – Kuba

ответ

1

Вы не открыли и не читали json-файл, поэтому items не определен.

items = open(...).read() 
Смежные вопросы