fork download
  1. # Assumptions
  2. # Input is legal, no level skip in input
  3.  
  4. source = """cran,tran
  5. ,yarn
  6. ,,uran
  7. ,oran"""
  8.  
  9. source = [[i for i in j.split(",")] for j in source.split("\n")]
  10.  
  11. level = 0
  12.  
  13. result = ""
  14.  
  15. for i in source:
  16. i_level = 0
  17. for j in i:
  18. i_level += 1
  19. if j:
  20. while level >= i_level:
  21. result += "]}"
  22. level -= 1
  23. if result and result[-1] == "}":
  24. result += ", "
  25. result += '{"' + j + '": ['
  26. level += 1
  27. while level > 0:
  28. result += "]}"
  29. level -= 1
  30.  
  31.  
  32. print(result)
  33.  
Success #stdin #stdout 0.04s 9236KB
stdin
Standard input is empty
stdout
{"cran": [{"tran": []}, {"yarn": [{"uran": []}]}, {"oran": []}]}