-
Notifications
You must be signed in to change notification settings - Fork 1
/
XMLtoCSV.jl
86 lines (71 loc) · 15.5 KB
/
XMLtoCSV.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#Packages
using EzXML: root, readxml, eachelement, nodecontent, Node
using DataFrames: DataFrame, insertcols!
using CSVFiles: load
using CSV: CSV
using DataStructures
cd("C:\\Users\\migue\\OneDrive\\Documentos\\You-i Lab\\YoPorMiCiudad\\static\\surveysFCA")
Surveys=filter!(s->occursin(r".xml", s),readdir())
function addRow(df, row)
finalRow = Dict()
for name ∈ names(df)
if haskey(row, name)
finalRow[name] = row[name]
delete!(row, name)
else
finalRow[name] = "NaN"
end
end
for missingKey ∈ keys(row)
insertcols!(df, missingKey => "NaN")
finalRow[missingKey] = row[missingKey]
end
push!(df, finalRow)
return df
end
function getAnswers(survey, document)
Survey= OrderedDict(
"filePath" => document
)
id=0
for topic in eachelement(survey)
for Nquestion in eachelement(topic)
id+=1
push!(Survey, "Q$id" => nodecontent(findfirst("answer", Nquestion)) )
end
end
# answerArray=string.(answerArray)
# println(typeof(Survey))
return Survey
end
filePath="C:\\Users\\migue\\OneDrive\\Documentos\\You-i Lab\\YoPorMiCiudad\\surveysFCA33.csv"
precompile(addRow, (DataFrame,OrderedDict{String,Any}))
precompile(getAnswers, (Node,String))
tstart = time();
if !isfile(filePath)
data = DataFrame(
filePath = []
)
#println(precompile(addRow, (DataFrame,OrderedDict{String,Any})) )
#println(precompile(getAnswers, (EzXML.Node,String)) )
else
data=string.(DataFrame(load(filePath)))
end
DF = DataFrame()
for document in Surveys
survey = root(readxml("$document"))
SurveyFCA33Q= ["5d6ec151cc0a2b0fb91926c5_20190904_143838.xml","5d6ec151cc0a2b0fb91926c5_20190904_150323.xml","5d6ec151cc0a2b0fb91926c5_20190904_184009.xml","5d6ec151cc0a2b0fb91926c5_20190905_130748.xml","5d6ec151cc0a2b0fb91926c5_20190904_215128.xml","5d6ec151cc0a2b0fb91926c5_20190906_133135.xml","5d6ec151cc0a2b0fb91926c5_20190906_132512.xml","5d6ec151cc0a2b0fb91926c5_20190906_133030.xml","5d6ec151cc0a2b0fb91926c5_20190906_133414.xml","5d6ec151cc0a2b0fb91926c5_20190906_133742.xml","5d6ec151cc0a2b0fb91926c5_20190906_134045.xml","5d6ec151cc0a2b0fb91926c5_20190906_134716.xml","5d6ec151cc0a2b0fb91926c5_20190906_135721.xml","5d6ec151cc0a2b0fb91926c5_20190906_140239.xml","5d6ec151cc0a2b0fb91926c5_20190906_141939.xml","5d6ec151cc0a2b0fb91926c5_20190906_142346.xml","5d6ec151cc0a2b0fb91926c5_20190906_142520.xml","5d6ec151cc0a2b0fb91926c5_20190906_142827.xml","5d6ec151cc0a2b0fb91926c5_20190906_143205.xml","5d6ec151cc0a2b0fb91926c5_20190906_143540.xml","5d6ec151cc0a2b0fb91926c5_20190906_143905.xml","5d6ec151cc0a2b0fb91926c5_20190906_144133.xml","5d6ec151cc0a2b0fb91926c5_20190906_145646.xml","5d6ec151cc0a2b0fb91926c5_20190906_134312.xml","5d6ec151cc0a2b0fb91926c5_20190906_135313.xml","5d6ec151cc0a2b0fb91926c5_20190906_140429.xml","5d6ec151cc0a2b0fb91926c5_20190906_142253.xml","5d6ec151cc0a2b0fb91926c5_20190906_142628.xml","5d6ec151cc0a2b0fb91926c5_20190906_142851.xml","5d6ec151cc0a2b0fb91926c5_20190906_143441.xml","5d6ec151cc0a2b0fb91926c5_20190906_132621.xml","5d6ec151cc0a2b0fb91926c5_20190906_133430.xml","5d6ec151cc0a2b0fb91926c5_20190906_133921.xml","5d6ec151cc0a2b0fb91926c5_20190906_134612.xml","5d6ec151cc0a2b0fb91926c5_20190906_135428.xml","5d6ec151cc0a2b0fb91926c5_20190906_135715.xml","5d6ec151cc0a2b0fb91926c5_20190906_140028.xml","5d6ec151cc0a2b0fb91926c5_20190906_140401.xml","5d6ec151cc0a2b0fb91926c5_20190906_140730.xml","5d6ec151cc0a2b0fb91926c5_20190906_141031.xml","5d6ec151cc0a2b0fb91926c5_20190906_141305.xml","5d6ec151cc0a2b0fb91926c5_20190906_141606.xml","5d6ec151cc0a2b0fb91926c5_20190906_141820.xml","5d6ec151cc0a2b0fb91926c5_20190906_142247.xml","5d6ec151cc0a2b0fb91926c5_20190906_142533.xml","5d6ec151cc0a2b0fb91926c5_20190906_142831.xml","5d6ec151cc0a2b0fb91926c5_20190906_143119.xml","5d6ec151cc0a2b0fb91926c5_20190906_143407.xml","5d6ec151cc0a2b0fb91926c5_20190906_144231.xml","5d6ec151cc0a2b0fb91926c5_20190906_132625.xml","5d6ec151cc0a2b0fb91926c5_20190906_133032.xml","5d6ec151cc0a2b0fb91926c5_20190906_133552.xml","5d6ec151cc0a2b0fb91926c5_20190906_134018.xml","5d6ec151cc0a2b0fb91926c5_20190906_134614.xml","5d6ec151cc0a2b0fb91926c5_20190906_134917.xml","5d6ec151cc0a2b0fb91926c5_20190906_140848.xml","5d6ec151cc0a2b0fb91926c5_20190906_141441.xml","5d6ec151cc0a2b0fb91926c5_20190906_142201.xml","5d6ec151cc0a2b0fb91926c5_20190906_142509.xml","5d6ec151cc0a2b0fb91926c5_20190906_142924.xml","5d6ec151cc0a2b0fb91926c5_20190906_143339.xml","5d6ec151cc0a2b0fb91926c5_20190906_143816.xml","5d6ec151cc0a2b0fb91926c5_20190906_144629.xml","5d6ec151cc0a2b0fb91926c5_20190906_145903.xml","5d6ec151cc0a2b0fb91926c5_20190906_150353.xml","5d6ec151cc0a2b0fb91926c5_20190906_132950.xml","5d6ec151cc0a2b0fb91926c5_20190906_133344.xml","5d6ec151cc0a2b0fb91926c5_20190906_133812.xml","5d6ec151cc0a2b0fb91926c5_20190906_134410.xml","5d6ec151cc0a2b0fb91926c5_20190906_134615.xml","5d6ec151cc0a2b0fb91926c5_20190906_134839.xml","5d6ec151cc0a2b0fb91926c5_20190906_135414.xml","5d6ec151cc0a2b0fb91926c5_20190906_140107.xml","5d6ec151cc0a2b0fb91926c5_20190906_140623.xml","5d6ec151cc0a2b0fb91926c5_20190906_142156.xml","5d6ec151cc0a2b0fb91926c5_20190906_142713.xml","5d6ec151cc0a2b0fb91926c5_20190906_143521.xml","5d6ec151cc0a2b0fb91926c5_20190906_132001.xml","5d6ec151cc0a2b0fb91926c5_20190906_135818.xml","5d6ec151cc0a2b0fb91926c5_20190906_140332.xml","5d6ec151cc0a2b0fb91926c5_20190906_142535.xml","5d6ec151cc0a2b0fb91926c5_20190906_142931.xml","5d6ec151cc0a2b0fb91926c5_20190906_145116.xml","5d6ec151cc0a2b0fb91926c5_20190906_172617.xml","5d6ec151cc0a2b0fb91926c5_20190906_181507.xml","5d6ec151cc0a2b0fb91926c5_20190906_185505.xml","5d6ec151cc0a2b0fb91926c5_20190906_190303.xml","5d6ec151cc0a2b0fb91926c5_20190906_190704.xml","5d6ec151cc0a2b0fb91926c5_20190906_191834.xml","5d6ec151cc0a2b0fb91926c5_20190906_192534.xml","5d6ec151cc0a2b0fb91926c5_20190906_132707.xml","5d6ec151cc0a2b0fb91926c5_20190906_133033.xml","5d6ec151cc0a2b0fb91926c5_20190906_133423.xml","5d6ec151cc0a2b0fb91926c5_20190906_133924.xml","5d6ec151cc0a2b0fb91926c5_20190906_134447.xml","5d6ec151cc0a2b0fb91926c5_20190906_134757.xml","5d6ec151cc0a2b0fb91926c5_20190906_135126.xml","5d6ec151cc0a2b0fb91926c5_20190906_135422.xml","5d6ec151cc0a2b0fb91926c5_20190906_135656.xml","5d6ec151cc0a2b0fb91926c5_20190906_140034.xml","5d6ec151cc0a2b0fb91926c5_20190906_140739.xml","5d6ec151cc0a2b0fb91926c5_20190906_134012.xml","5d6ec151cc0a2b0fb91926c5_20190906_174507.xml","5d6ec151cc0a2b0fb91926c5_20190906_191518.xml","5d6ec151cc0a2b0fb91926c5_20190906_193946.xml","5d6ec151cc0a2b0fb91926c5_20190906_134047.xml","5d6ec151cc0a2b0fb91926c5_20190906_135424.xml","5d6ec151cc0a2b0fb91926c5_20190906_140737.xml","5d6ec151cc0a2b0fb91926c5_20190906_141242.xml","5d6ec151cc0a2b0fb91926c5_20190906_141659.xml","5d6ec151cc0a2b0fb91926c5_20190906_142300.xml","5d6ec151cc0a2b0fb91926c5_20190906_143221.xml","5d6ec151cc0a2b0fb91926c5_20190906_135913.xml","5d6ec151cc0a2b0fb91926c5_20190906_140410.xml","5d6ec151cc0a2b0fb91926c5_20190906_140951.xml","5d6ec151cc0a2b0fb91926c5_20190906_141610.xml","5d6ec151cc0a2b0fb91926c5_20190906_142110.xml","5d6ec151cc0a2b0fb91926c5_20190906_142441.xml","5d6ec151cc0a2b0fb91926c5_20190906_143136.xml","5d6ec151cc0a2b0fb91926c5_20190906_143649.xml","5d6ec151cc0a2b0fb91926c5_20190906_143944.xml","5d6ec151cc0a2b0fb91926c5_20190906_133745.xml","5d6ec151cc0a2b0fb91926c5_20190906_134128.xml","5d6ec151cc0a2b0fb91926c5_20190906_134540.xml","5d6ec151cc0a2b0fb91926c5_20190906_134807.xml","5d6ec151cc0a2b0fb91926c5_20190906_135138.xml","5d6ec151cc0a2b0fb91926c5_20190906_135522.xml","5d6ec151cc0a2b0fb91926c5_20190906_135740.xml","5d6ec151cc0a2b0fb91926c5_20190906_140124.xml","5d6ec151cc0a2b0fb91926c5_20190906_140609.xml","5d6ec151cc0a2b0fb91926c5_20190906_140755.xml","5d6ec151cc0a2b0fb91926c5_20190906_141106.xml","5d6ec151cc0a2b0fb91926c5_20190906_141355.xml","5d6ec151cc0a2b0fb91926c5_20190906_132233.xml","5d6ec151cc0a2b0fb91926c5_20190906_133119.xml","5d6ec151cc0a2b0fb91926c5_20190906_133713.xml","5d6ec151cc0a2b0fb91926c5_20190906_134342.xml","5d6ec151cc0a2b0fb91926c5_20190906_135124.xml","5d6ec151cc0a2b0fb91926c5_20190906_135913.xml","5d6ec151cc0a2b0fb91926c5_20190906_140727.xml","5d6ec151cc0a2b0fb91926c5_20190906_140933.xml","5d6ec151cc0a2b0fb91926c5_20190906_141154.xml","5d6ec151cc0a2b0fb91926c5_20190906_143436.xml","5d6ec151cc0a2b0fb91926c5_20190906_132810.xml","5d6ec151cc0a2b0fb91926c5_20190906_133721.xml","5d6ec151cc0a2b0fb91926c5_20190906_134450.xml","5d6ec151cc0a2b0fb91926c5_20190906_134831.xml","5d6ec151cc0a2b0fb91926c5_20190906_135421.xml","5d6ec151cc0a2b0fb91926c5_20190906_140123.xml","5d6ec151cc0a2b0fb91926c5_20190906_140430.xml","5d6ec151cc0a2b0fb91926c5_20190906_141216.xml","5d6ec151cc0a2b0fb91926c5_20190906_141626.xml","5d6ec151cc0a2b0fb91926c5_20190906_141957.xml","5d6ec151cc0a2b0fb91926c5_20190906_142224.xml","5d6ec151cc0a2b0fb91926c5_20190906_142630.xml","5d6ec151cc0a2b0fb91926c5_20190906_144536.xml","5d6ec151cc0a2b0fb91926c5_20190906_131728.xml","5d6ec151cc0a2b0fb91926c5_20190906_132004.xml","5d6ec151cc0a2b0fb91926c5_20190906_132242.xml","5d6ec151cc0a2b0fb91926c5_20190906_132603.xml","5d6ec151cc0a2b0fb91926c5_20190906_132925.xml","5d6ec151cc0a2b0fb91926c5_20190906_133243.xml","5d6ec151cc0a2b0fb91926c5_20190906_134217.xml","5d6ec151cc0a2b0fb91926c5_20190906_134826.xml","5d6ec151cc0a2b0fb91926c5_20190906_135458.xml","5d6ec151cc0a2b0fb91926c5_20190906_135648.xml","5d6ec151cc0a2b0fb91926c5_20190906_140014.xml","5d6ec151cc0a2b0fb91926c5_20190906_140551.xml","5d6ec151cc0a2b0fb91926c5_20190906_142643.xml","5d6ec151cc0a2b0fb91926c5_20190906_142958.xml","5d6ec151cc0a2b0fb91926c5_20190906_133611.xml","5d6ec151cc0a2b0fb91926c5_20190906_133150.xml","5d6ec151cc0a2b0fb91926c5_20190906_133713.xml","5d6ec151cc0a2b0fb91926c5_20190906_134303.xml","5d6ec151cc0a2b0fb91926c5_20190906_134848.xml","5d6ec151cc0a2b0fb91926c5_20190906_135211.xml","5d6ec151cc0a2b0fb91926c5_20190906_134325.xml","5d6ec151cc0a2b0fb91926c5_20190906_134809.xml","5d6ec151cc0a2b0fb91926c5_20190906_135056.xml","5d6ec151cc0a2b0fb91926c5_20190906_135401.xml","5d6ec151cc0a2b0fb91926c5_20190906_135743.xml","5d6ec151cc0a2b0fb91926c5_20190906_142522.xml","5d6ec151cc0a2b0fb91926c5_20190906_142838.xml","5d6ec151cc0a2b0fb91926c5_20190906_131226.xml","5d6ec151cc0a2b0fb91926c5_20190906_131929.xml","5d6ec151cc0a2b0fb91926c5_20190906_132300.xml","5d6ec151cc0a2b0fb91926c5_20190906_134207.xml","5d6ec151cc0a2b0fb91926c5_20190906_134941.xml","5d6ec151cc0a2b0fb91926c5_20190906_145145.xml","5d6ec151cc0a2b0fb91926c5_20190906_140323.xml","5d6ec151cc0a2b0fb91926c5_20190906_140800.xml","5d6ec151cc0a2b0fb91926c5_20190906_141720.xml","5d6ec151cc0a2b0fb91926c5_20190906_142138.xml","5d6ec151cc0a2b0fb91926c5_20190906_142345.xml","5d6ec151cc0a2b0fb91926c5_20190906_142700.xml","5d6ec151cc0a2b0fb91926c5_20190906_143048.xml","5d6ec151cc0a2b0fb91926c5_20190906_151255.xml","5d6ec151cc0a2b0fb91926c5_20190906_151655.xml","5d6ec151cc0a2b0fb91926c5_20190906_152028.xml","5d6ec151cc0a2b0fb91926c5_20190906_152233.xml","5d6ec151cc0a2b0fb91926c5_20190906_152824.xml","5d6ec151cc0a2b0fb91926c5_20190906_153116.xml","5d6ec151cc0a2b0fb91926c5_20190906_153535.xml","5d6ec151cc0a2b0fb91926c5_20190906_142309.xml","5d6ec151cc0a2b0fb91926c5_20190906_142817.xml","5d6ec151cc0a2b0fb91926c5_20190906_131113.xml","5d6ec151cc0a2b0fb91926c5_20190906_132813.xml","5d6ec151cc0a2b0fb91926c5_20190906_133218.xml","5d6ec151cc0a2b0fb91926c5_20190906_133647.xml","5d6ec151cc0a2b0fb91926c5_20190906_134015.xml","5d6ec151cc0a2b0fb91926c5_20190906_134558.xml","5d6ec151cc0a2b0fb91926c5_20190906_134842.xml","5d6ec151cc0a2b0fb91926c5_20190906_135414.xml","5d6ec151cc0a2b0fb91926c5_20190906_135815.xml","5d6ec151cc0a2b0fb91926c5_20190906_140504.xml","5d6ec151cc0a2b0fb91926c5_20190906_141515.xml","5d6ec151cc0a2b0fb91926c5_20190906_141818.xml","5d6ec151cc0a2b0fb91926c5_20190906_142102.xml","5d6ec151cc0a2b0fb91926c5_20190906_143229.xml","5d6ec151cc0a2b0fb91926c5_20190906_145326.xml","5d6ec151cc0a2b0fb91926c5_20190906_145907.xml","5d6ec151cc0a2b0fb91926c5_20190906_150559.xml","5d6ec151cc0a2b0fb91926c5_20190906_152104.xml","5d6ec151cc0a2b0fb91926c5_20190906_185444.xml","5d6ec151cc0a2b0fb91926c5_20190906_192145.xml","5d6ec151cc0a2b0fb91926c5_20190906_192615.xml","5d6ec151cc0a2b0fb91926c5_20190906_193034.xml","5d6ec151cc0a2b0fb91926c5_20190906_194008.xml","5d6ec151cc0a2b0fb91926c5_20190906_133828.xml","5d6ec151cc0a2b0fb91926c5_20190906_134115.xml","5d6ec151cc0a2b0fb91926c5_20190906_134506.xml","5d6ec151cc0a2b0fb91926c5_20190906_134736.xml","5d6ec151cc0a2b0fb91926c5_20190906_135001.xml","5d6ec151cc0a2b0fb91926c5_20190906_135205.xml","5d6ec151cc0a2b0fb91926c5_20190906_135450.xml","5d6ec151cc0a2b0fb91926c5_20190906_135728.xml","5d6ec151cc0a2b0fb91926c5_20190906_140020.xml","5d6ec151cc0a2b0fb91926c5_20190906_140440.xml","5d6ec151cc0a2b0fb91926c5_20190906_140752.xml","5d6ec151cc0a2b0fb91926c5_20190906_141452.xml","5d6ec151cc0a2b0fb91926c5_20190906_143238.xml","5d6ec151cc0a2b0fb91926c5_20190906_143634.xml","5d6ec151cc0a2b0fb91926c5_20190906_145756.xml","5d6ec151cc0a2b0fb91926c5_20190906_150431.xml","5d6ec151cc0a2b0fb91926c5_20190906_150743.xml","5d6ec151cc0a2b0fb91926c5_20190906_151046.xml","5d6ec151cc0a2b0fb91926c5_20190906_151817.xml","5d6ec151cc0a2b0fb91926c5_20190906_152135.xml","5d6ec151cc0a2b0fb91926c5_20190906_152505.xml","5d6ec151cc0a2b0fb91926c5_20190906_153311.xml","5d6ec151cc0a2b0fb91926c5_20190906_172652.xml","5d6ec151cc0a2b0fb91926c5_20190906_181644.xml","5d6ec151cc0a2b0fb91926c5_20190906_185517.xml","5d6ec151cc0a2b0fb91926c5_20190906_192411.xml","5d6ec151cc0a2b0fb91926c5_20190906_193826.xml","5d6ec151cc0a2b0fb91926c5_20191105_114111.xml"]
#SurveyTequis33Q= ["5dc76940cc0a2b105f0a3dd3_20191110_093805.xml","5dc76940cc0a2b105f0a3dd3_20191110_094843.xml","5dc76940cc0a2b105f0a3dd3_20191110_100615.xml","5dc76940cc0a2b105f0a3dd3_20191110_101857.xml","5dc76940cc0a2b105f0a3dd3_20191110_102702.xml","5dc76940cc0a2b105f0a3dd3_20191110_111731.xml","5dc76940cc0a2b105f0a3dd3_20191110_120458.xml","5dc76940cc0a2b105f0a3dd3_20191110_122635.xml","5dc76940cc0a2b105f0a3dd3_20191110_111731.xml","5dc76940cc0a2b105f0a3dd3_20191110_114341.xml","5dc76940cc0a2b105f0a3dd3_20191110_094511.xml","5dc76940cc0a2b105f0a3dd3_20191110_101606.xml","5dc76940cc0a2b105f0a3dd3_20191110_104728.xml","5dc76940cc0a2b105f0a3dd3_20191110_111047.xml","5dc76940cc0a2b105f0a3dd3_20191110_112534.xml","5dc76940cc0a2b105f0a3dd3_20191110_121010.xml","5dc76940cc0a2b105f0a3dd3_20191110_100927.xml","5dc76940cc0a2b105f0a3dd3_20191110_102753.xml","5dc76940cc0a2b105f0a3dd3_20191110_111338.xml","5dc76940cc0a2b105f0a3dd3_20191110_114531.xml","5dc76940cc0a2b105f0a3dd3_20191110_101119.xml","5dc76940cc0a2b105f0a3dd3_20191110_102658.xml","5dc76940cc0a2b105f0a3dd3_20191110_104438.xml","5dc76940cc0a2b105f0a3dd3_20191110_111114.xml","5dc76940cc0a2b105f0a3dd3_20191110_114529.xml","5dc76940cc0a2b105f0a3dd3_20191110_095531.xml","5dc76940cc0a2b105f0a3dd3_20191110_100928.xml","5dc76940cc0a2b105f0a3dd3_20191110_102124.xml","5dc76940cc0a2b105f0a3dd3_20191110_112558.xml","5dc76940cc0a2b105f0a3dd3_20191110_095551.xml","5dc76940cc0a2b105f0a3dd3_20191110_100908.xml","5dc76940cc0a2b105f0a3dd3_20191110_102348.xml","5dc76940cc0a2b105f0a3dd3_20191110_103828.xml","5dc76940cc0a2b105f0a3dd3_20191110_104946.xml","5dc76940cc0a2b105f0a3dd3_20191110_112005.xml"]
if document in SurveyFCA33Q
if size(data)==(0, 0)
global DF=addRow(data, getAnswers(survey, document))
elseif document ∉ data[:,1]
global DF=addRow(data, getAnswers(survey, document))
end
end
end
CSV.write(filePath, DF)
chmod(filePath, 0o777)
tend=time();
println( tend-tstart)
println("Listo :)")