Импортировать файл CSV. Итерация и фильтрация в JSON выходной файл - PullRequest
0 голосов
/ 23 марта 2020

Первый вопрос. Пожалуйста помоги. Я пытаюсь перебрать файл CSV и вывести одну строку в формате JSON, используя Python 3.7. Я могу открыть CSV и распечатать все строки, но файл JSON показывает только первую. Как мне записать все в файл JSON?

CSV-файл выглядит так:

Ad ID/ISCI,Ad ID/ISCI,Advertiser,Advertiser,Channel,Coverable label,Dropzone_status,House ID,House ID,Underlying Ad Found,Distinct count of Number of Records,Number of Records
AUSR0007H,AUSR0007H,Anheuser-Busch InBev,Anheuser-Busch InBev,AMCW,Not Coverable,Not Coverable,XC71508,XC71508,Ad Found,1,26
83JJ2004000H,83JJ2004000H,"Jimmy John's Enterprises, LLC","Jimmy John's Enterprises, LLC",AMCW,Not Coverable,Not Coverable,XC72833,XC72833,Ad Missing,1,24
HIHG0065H,HIHG0065H,Intercontinental Hotels Group Resources Inc,Intercontinental Hotels Group Resources Inc,AMCW,Not Coverable,Not Coverable,XC72628,XC72628,Ad Missing,1,22
YMGT0001000H,YMGT0001000H,Celgene Corporation,Celgene Corporation,AMCW,Not Coverable,Not Coverable,XC70495,XC70495,Ad Missing,1,20
WPJLSA30ELH,WPJLSA30ELH,Warby Parker,Warby Parker,AMCW,Not Coverable,Not Coverable,XC51192,XC51192,Ad Missing,1,15
QEBNERAC5B0H,QEBNERAC5B0H,Enterprise Rent A Car,Enterprise Rent A Car,AMCW,Not Coverable,Not Coverable,XC65094,XC65094,Ad Missing,1,13
YDEC1116000H,YDEC1116000H,Dell Computers,Dell Computers,AMCW,Not Coverable,Not Coverable,XC70296,XC70296,Ad Missing,1,2
YDEC1116000H,YDEC1116000H,Dell Computers,Dell Computers,AMCW,Coverable,Ad Missing,XC70296,XC70296,Ad Missing,1,11
ONTV0088500H,ONTV0088500H,Sherwin Williams/linking deals,Sherwin Williams/linking deals,AMCW,Not Coverable,Not Coverable,XC72371,XC72371,Ad Missing,1,11

Код:

import csv  
import json  

csvFilePath = 'Avails_Ad_Summary_data.csv'
jsonFilePath = 'warner_adids.json'
#reading csv and adding data to dictionary
data = {}
with open(csvFilePath) as csvFile:
    csvReader = csv.DictReader(csvFile, 'r')
    for csvRow in csvReader:
        data['Ad ID/ISCI'] = csvRow 
        print(csvRow)
        print(data)

#write to json file
with open(jsonFilePath, 'w') as jsonFile:
    jsonFile.write(json.dumps(data, indent=4))

JSON Вывод:

{
  "Ad ID/ISCI": {
    "r": "ZWHF0334000H",
    "null": [
        "ZWHF0334000H",
        "Whole Foods Market Inc./1920 UF + SWOP Simul",
        "Whole Foods Market Inc./1920 UF + SWOP Simul",
        "AMCW",
        "Not Coverable",
        "Not Coverable",
        "XC71769",
        "XC71769",
        "Ad Missing",
        "1",
        "1"
    ]
  }
}
...