Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import pandas as pd
- from itertools import groupby
- from collections import OrderedDict
- import json
- df = pd.read_csv('data8.csv', dtype={
- "Source" : str,
- "Template": str,
- "ConfigurationSetName": str,
- })
- results = []
- for (Source, Template, ConfigurationSetName), bag in df.groupby (["Source", "Template", "ConfigurationSetName"]):
- contents_df = bag.drop(["Source", "Template", "ConfigurationSetName"], axis=1)
- Destinations = [OrderedDict(row) for i,row in contents_df.iterrows()]
- results.append(OrderedDict([("Source", Source),
- ("Template", Template),
- ("ConfigurationSetName", ConfigurationSetName),
- ("Destinations", Destinations)]))
- print json.dumps(results[0], indent=4)
- with open('ExpectedJsonFile.json', 'w') as outfile:
- outfile.write(json.dumps(results[0], indent=4))
- Source,Template,ConfigurationSetName,ToAddresses,ReplacementTemplateData
- demo@example.com,MyTemplate,noreply,customer1@gmail.com,customer1
- demo@example.com,MyTemplate,noreply,customer2@gmail.com,customer2
- {
- "Source": "demo@example.com",
- "Template": "MyTemplate",
- "ConfigurationSetName": "noreply",
- "Destinations": [
- {
- "ToAddresses": "customer1@gmail.com",
- "ReplacementTemplateData": "customer"
- },
- {
- "ToAddresses": "customer2@gmail.com",
- "ReplacementTemplateData": "customer2"
- }
- ]
- }
- {
- "Source":"demo@example.com",
- "Template":"MyTemplate",
- "ConfigurationSetName": "noreply",
- "Destinations":[
- {
- "Destination":{
- "ToAddresses":[
- "customer1@gmail.com"
- ]
- },
- "ReplacementTemplateData":"{ "name":"customer1" }"
- },
- {
- "Destination":{
- "ToAddresses":[
- "customer2@gmail.com"
- ]
- },
- "ReplacementTemplateData":"{ "name":"customer2" }"
- },
- {
- "Destination":{
- "ToAddresses":[
- "customer3@gmail.com"
- ]
- },
- "ReplacementTemplateData":"{}"
- }
- ],
- "DefaultTemplateData":"{ "name":"friend" }"
- }
- {
- "Template": {
- "TemplateName": "MyTemplate",
- "SubjectPart": "Greetings, {{Name}}!",
- "HtmlPart": "<h1>Hello {{Name}},</h1><p>Your favorite animal is cat.</p>",
- "TextPart": "Dear {{Name}},rnYour favorite animal is cat."
- }
- }
Add Comment
Please, Sign In to add comment