Advertisement
Guest User

Untitled

a guest
Jan 19th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.37 KB | None | 0 0
  1. import logging
  2. import json
  3. import pandas as pandas
  4. import sys
  5.  
  6. logging_filename = "../logs/ingestion.log"
  7. logging.basicConfig(filename=logging_filename, level=logging.DEBUG)
  8. logging.getLogger().addHandler(logging.StreamHandler())
  9.  
  10. def make_draft_json(filename, tablename):
  11.  
  12. # Creates dataframe variable.
  13. dataframe_file = pandas.read_csv(filename)
  14.  
  15. # Iterate over this.
  16. dataframe_iterator = dataframe_file.columns
  17.  
  18. # JSON structure skeleton based on meta.json.
  19. output = {
  20. tablename: {
  21. "fields": []
  22. }
  23. }
  24.  
  25. # We get our data here. We'll add additional field info.
  26. for field in dataframe_iterator:
  27. data = {
  28. field: {
  29. "data_type": str(dataframe_file[field].dtypes),
  30. "source_name": field,
  31. "default_text":""
  32. }
  33. }
  34. # Push created data into Output object
  35. output[tablename]["fields"].append(data)
  36.  
  37. # Write to JSON file.
  38. with open("test_results.json", "w") as results:
  39. json.dump(output, results, sort_keys=True, indent=4)
  40.  
  41. if __name__ == '__main__':
  42.  
  43. # Since we know that we're inserting our filepath and table_name on the command line as args 1 and 2, do we need a loop like you had in your example??
  44.  
  45. csv_filename = sys.argv[1]
  46. table_name = sys.argv[2]
  47.  
  48. make_draft_json(csv_filename, table_name)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement