using DataFrames, Benchmark # FUNCTION TO READ CSV FILE TO DATAFRAME function csv2df(file) d = readcsv(file, header = true) head = d[2] data = d[1] dt = DataFrame() for i in 1:size(head)[2] dt[symbol(head[i])] = data[:, i] end return dt end df_funct() = csv2df("survdt.csv"); # MACRO TO READ CSV FILE TO DATAFRAME macro csv2df(file) d = readcsv(file, header = true) head = d[2] data = d[1] dt = DataFrame() for i in 1:size(head)[2] dt[symbol(head[i])] = data[:, i] end return dt end df_macro() = @csv2df "survdt.csv"; # FUNCTION IN THE DATAFRAME PACKAGE df_frame() = readtable("survdt.csv"); print(compare([df_funct, df_macro, df_frame], 10)) # | Row | Function | Average | Relative | Replications | # |-----|------------|----------|-----------|--------------| # | 1 | "df_funct" | 0.164968 | 4.07328e6 | 10 | # | 2 | "df_macro" | 4.05e-8 | 1.0 | 10 | # | 3 | "df_frame" | 0.063254 | 1.56183e6 | 10 |