Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import logging
- import json
- import pandas as pandas
- import sys
- logging_filename = "../logs/ingestion.log"
- logging.basicConfig(filename=logging_filename, level=logging.DEBUG)
- logging.getLogger().addHandler(logging.StreamHandler())
- def make_draft_json(filename, tablename):
- # Creates dataframe variable.
- dataframe_file = pandas.read_csv(filename)
- # Iterate over this.
- dataframe_iterator = dataframe_file.columns
- # JSON structure skeleton based on meta.json.
- output = {
- tablename: {
- "fields": []
- }
- }
- # We get our data here. We'll add additional field info.
- for field in dataframe_iterator:
- data = {
- field: {
- "data_type": str(dataframe_file[field].dtypes),
- "source_name": field,
- "default_text":""
- }
- }
- # Push created data into Output object
- output[tablename]["fields"].append(data)
- # Write to JSON file.
- with open("test_results.json", "w") as results:
- json.dump(output, results, sort_keys=True, indent=4)
- if __name__ == '__main__':
- # 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??
- csv_filename = sys.argv[1]
- table_name = sys.argv[2]
- make_draft_json(csv_filename, table_name)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement