Guest User

Untitled

a guest
Nov 15th, 2018
123
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.32 KB | None | 0 0
  1. import pandas as pd
  2. from itertools import groupby
  3. from collections import OrderedDict
  4. import json
  5.  
  6. df = pd.read_csv('data8.csv', dtype={
  7. "Source" : str,
  8. "Template": str,
  9. "ConfigurationSetName": str,
  10. })
  11.  
  12. results = []
  13.  
  14. for (Source, Template, ConfigurationSetName), bag in df.groupby (["Source", "Template", "ConfigurationSetName"]):
  15. contents_df = bag.drop(["Source", "Template", "ConfigurationSetName"], axis=1)
  16. Destinations = [OrderedDict(row) for i,row in contents_df.iterrows()]
  17. results.append(OrderedDict([("Source", Source),
  18. ("Template", Template),
  19. ("ConfigurationSetName", ConfigurationSetName),
  20. ("Destinations", Destinations)]))
  21.  
  22. print json.dumps(results[0], indent=4)
  23. with open('ExpectedJsonFile.json', 'w') as outfile:
  24. outfile.write(json.dumps(results[0], indent=4))
  25.  
  26. Source,Template,ConfigurationSetName,ToAddresses,ReplacementTemplateData
  27. demo@example.com,MyTemplate,noreply,customer1@gmail.com,customer1
  28. demo@example.com,MyTemplate,noreply,customer2@gmail.com,customer2
  29.  
  30. {
  31. "Source": "demo@example.com",
  32. "Template": "MyTemplate",
  33. "ConfigurationSetName": "noreply",
  34. "Destinations": [
  35. {
  36. "ToAddresses": "customer1@gmail.com",
  37. "ReplacementTemplateData": "customer"
  38. },
  39. {
  40. "ToAddresses": "customer2@gmail.com",
  41. "ReplacementTemplateData": "customer2"
  42. }
  43. ]
  44. }
  45.  
  46. {
  47. "Source":"demo@example.com",
  48. "Template":"MyTemplate",
  49. "ConfigurationSetName": "noreply",
  50. "Destinations":[
  51. {
  52. "Destination":{
  53. "ToAddresses":[
  54. "customer1@gmail.com"
  55. ]
  56. },
  57. "ReplacementTemplateData":"{ "name":"customer1" }"
  58. },
  59. {
  60. "Destination":{
  61. "ToAddresses":[
  62. "customer2@gmail.com"
  63. ]
  64. },
  65. "ReplacementTemplateData":"{ "name":"customer2" }"
  66. },
  67. {
  68. "Destination":{
  69. "ToAddresses":[
  70. "customer3@gmail.com"
  71. ]
  72. },
  73. "ReplacementTemplateData":"{}"
  74. }
  75. ],
  76. "DefaultTemplateData":"{ "name":"friend" }"
  77. }
  78.  
  79. {
  80. "Template": {
  81. "TemplateName": "MyTemplate",
  82. "SubjectPart": "Greetings, {{Name}}!",
  83. "HtmlPart": "<h1>Hello {{Name}},</h1><p>Your favorite animal is cat.</p>",
  84. "TextPart": "Dear {{Name}},rnYour favorite animal is cat."
  85. }
  86. }
Add Comment
Please, Sign In to add comment