Python program for transforming the txt file into Google Treemap data rows format

# define the name of the js file
new_file = "data2014.js" 

# open and start to write data to the js file
new_dt = open(new_file, "w+") 

filename = "yob2014.txt" # the txt file name

print 'Start to build the data file....'
with open(filename) as f:
    new_dt.write("var data_rows = [['Names', null, 0],\n") # add the root node 
    new_dt.write("['Female', 'Names', null],\n") # add the parent node for female names
    new_dt.write("['Male', 'Names', null],\n") # add the parent node for male names
    male_count = 0
    female_count = 0
    for line in f:
        line = line.replace("\n", "") # delete the line breaks
        a = line.split(",") # split the line by comma(,)
        
        # reconstruct the txt line into treemap required format
        if a[1] == 'F': # if this is a female name
            female_count = female_count + 1
            if female_count <= 50: # if total number of female names are not over 50             
                new_dt.write("['" + a[0] + "', 'Female', " + a[2] + "],\n") # add the name to the datatable
        else: # if this is a male name
            male_count = male_count + 1
            if male_count <= 50:                
                new_dt.write("['" + a[0] + "', 'Male', " + a[2] + "],\n")        
    new_dt.write("];") # end of the js array

new_dt.close() # when writing is done, close the js file
print 'Data file is completed!'

If you get an error like No such file or directory: ‘yob2014.txt’, check that the file is actually in the folder. Also, check if the working directory is the folder containing the file. If not, please read this post to learn how to change the working directory of Canopy.

External Resources about Python Files I/O