ID Arrival Departure ArrivalDate DepatureDate
1001 New York Holland 2009-09-23 2012-07-23
1301 Florida Germany 2010-10-23 2012-10-11
1401 New York Holland 2009-09-23 2009-09-25
1301 New York Beijing 2009-09-23 2010-09-21
1201 New York Holland 2008-01-01 2009-09-23
1001 Virginia New York 2008-01-01 2009-09-22
1021 New York Holland 2009-09-23 2009-09-25
1001 New York Holland 2009-09-24 2012-07-23
1021 New York Holland 2009-09-26 2012-07-23
1001 New York Holland 2009-09-25 2012-07-23
….... …......... …........ ….............. …................

1001 New York Holland 2012-07-23 2012-07-23
1401 New York Holland 2009-09-25 2009-09-25
1301 New York Beijing 2010-09-21 2010-09-21
1201 New York Holland 2009-09-23 2009-09-23
1001 Virginia New York 2009-09-22 2009-09-22
1021 New York Holland 2009-09-25 2009-09-25
1001 New York Holland 2012-07-23 2012-07-23
1021 New York Holland 2012-07-23 2012-07-23
1001 New York Holland 2012-07-23 2012-07-23

expected output: Iterate through ArrivalDate, check if the DepartureDate falls between, then append.

           {
              “2009-09-23”:
                                       { “New York”: 1001, 1401, 1301, 1021,
                    “Holland” :  1021,
                                           “Beijing”:  1301,
                                          }
          { “2010-10-23”:
                                      {“Florida”: 1301, 
                                      }
         { “2008-01-01”:
                                    {“New York”: 1201,
                                      “Virginia”: 1001,
            }
         {“2009-09-24”:
            {“New York”: 1001
            }
         {“2009-09-26”: 
            {“New York”: 1021
            }
         {“2009-09-25”:
                                   {“New York”: 1001 
                                      “Holland”: 1401
                                      }
         {“ 2012-07-23”: 
                                  { “New York”: 1001,
                                 “Holland”: 1001,




csvfile = open('new_df.csv', 'r')
jsonfile = open('new_df.csv'.replace('.csv','.json'), 'w')

jsonfile.write('{"' + 'new_df.csv'.replace('.csv','') + '": [\n')       # write json parent of data list
fieldnames = csvfile.readline().replace('\n','').split(',')                         # get fieldnames from first line of csv
num_lines = sum(1 for line in open('new_df.csv')) - 1                                   # count total lines in csv minus header row

reader = csv.DictReader(csvfile, fieldnames)                                        
i = 0
for row in reader:
  i += 1
  json.dump(row, jsonfile)
  if i < num_lines:
    jsonfile.write(',')
  jsonfile.write('\n')
jsonfile.write(']}')

Recommended Answers

All 3 Replies

Maybe we are doing the same school assignment...

As such you can check the replies there for clues in case no one has more to add here.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.