# Use a module-like pattern. fd.write("var %s = (function(){" % jsvarname) fd.write("var obj = {};") # Blat out constants into the global JS namespace for now. for i, field in enumerate(csv.fieldnames): fd.write("obj.%s = %s;" % (field.upper(), i)) fd.write("obj.data = [") for row in csv.rows: fd.write('[' + ','.join([arrayify(x) for x in row]) + '],') fd.write("];") # End the module pattern. fd.write("return obj;") fd.write("}());") if __name__ == '__main__': if len(sys.argv) < 3: print(' Usage: %s csvfile jsvarname' % sys.argv[0], file=sys.stderr) sys.exit(1) (filename, jsvarname) = sys.argv[1:] csv = Csv(filename) convert(csv, jsvarname, sys.stdout)
def main(filename): csv = Csv(filename) standardize(csv) csv.write(sys.stdout)