Запись в переменную CSV, захваченную из каждого JSON в текущем каталоге - PullRequest
0 голосов
/ 24 мая 2018

Я пытаюсь просмотреть каждый файл json в моем текущем каталоге и найти две конкретные переменные, productId и userProfileId (обе хорошо фиксируются в выходном файле), но не могу запустить его для каждого файла в папке.

Это моя лучшая попытка на данный момент

import json
import csv
import os

KEYS = ['user_id','product_id']

for files in os.walk("."):  
    for filename in files:
        for i in filename:
            if i.endswith(".json"):
                print(i)
                with open(i) as json_data:
                    order_parsed = json.load(json_data)
                    products_data = order_parsed['items']
                    user_data = order_parsed['clientProfileData']

                with open('user-item.csv','w') as dataFile:
                    newFileWriter = csv.writer(dataFile)
                    newFileWriter.writerow(KEYS)
                    for item in products_data:
                        productId = (products_data[0]['productId'])
                        userId = (user_data["userProfileId"])
                        print(productId)
                        print(userId)
                        newFileWriter.writerow([userId,productId])

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

Чтобы зациклить все файлы в папке, вы можете использовать это для.

for file in os.listdir('folder_path'):
    if file[-5:] == ".json": 
        arq = open(file,'r')
0 голосов
/ 24 мая 2018

Вы выполняете поиск по словарному ключу в цикле with.Попробуйте не выполнять поиск в цикле with, однократно пометив значения products_data и user_data.

...