StartDate,Response.Type,IPAddress,Progress,Duration..in.seconds.,Finished,RecordedDate,ResponseID,Location.Latitude,DistributionChannel,UserLanguage,district,student_id,grade,s.emsa.q1,s.emsa.q2,s.emsa.q3,s.tint.q1,s.tint.q2,s.tint.q3,s.tint.q4,s.tint.q5,s-acpr-q1,s-acpr-q2,s-acpr-q3,s-acpr-q4,s-cure-q1,s-cure-q2,s-cure-q3,s-cure-q4,s-sten-q1,s-sten-q2,s-sten-q3,s-sper-q1,s-sper-q2,s-sper-q3,s-sper-q4,s-civp-q1,s-civp-q2,s-civp-q3,s-civp-q4,s-grmi-q1,s-grmi-q2,s-grmi-q3,s-grmi-q4,s-appa-q1,s-appa-q2,s-appa-q3,s-peff-q1,s-peff-q2,s-peff-q3,s-peff-q4,s-peff-q5,s-peff-q6,s-sbel-q1,s-sbel-q2,s-sbel-q3,s-sbel-q4,s-sbel-q5,s-phys-q1,s-phys-q2,s-phys-q3,s-phys-q4,s-vale-q1,s-vale-q2,s-vale-q3,s-vale-q4,s-acst-q1,s-acst-q2,s-acst-q3,s-sust-q1,s-sust-q2,s-grit-q1,s-grit-q2,s-grit-q3,s-grit-q4,s-expa-q1,s-poaf-q1,s-poaf-q2,s-poaf-q3,s-poaf-q4,gender,Q90_3_TEXT,race,Q91_7_TEXT,language,MathTeacher,ScienceTeacher,SocialTeacher,EnglishTeacher,DESE ID
StartDate,Response.Type,IPAddress,Progress,Duration..in.seconds.,Finished,RecordedDate,ResponseID,Location.Latitude,DistributionChannel,UserLanguage,district,student_id,grade,s-emsa-q1,s-emsa-q2,s-emsa-q3,s-tint-q1,s-tint-q2,s-tint-q3,s-tint-q4,s-tint-q5,s-acpr-q1,s-acpr-q2,s-acpr-q3,s-acpr-q4,s-cure-q1,s-cure-q2,s-cure-q3,s-cure-q4,s-sten-q1,s-sten-q2,s-sten-q3,s-sper-q1,s-sper-q2,s-sper-q3,s-sper-q4,s-civp-q1,s-civp-q2,s-civp-q3,s-civp-q4,s-grmi-q1,s-grmi-q2,s-grmi-q3,s-grmi-q4,s-appa-q1,s-appa-q2,s-appa-q3,s-peff-q1,s-peff-q2,s-peff-q3,s-peff-q4,s-peff-q5,s-peff-q6,s-sbel-q1,s-sbel-q2,s-sbel-q3,s-sbel-q4,s-sbel-q5,s-phys-q1,s-phys-q2,s-phys-q3,s-phys-q4,s-vale-q1,s-vale-q2,s-vale-q3,s-vale-q4,s-acst-q1,s-acst-q2,s-acst-q3,s-sust-q1,s-sust-q2,s-grit-q1,s-grit-q2,s-grit-q3,s-grit-q4,s-expa-q1,s-poaf-q1,s-poaf-q2,s-poaf-q3,s-poaf-q4,gender,Q90_3_TEXT,race,Q91_7_TEXT,language,MathTeacher,ScienceTeacher,SocialTeacher,EnglishTeacher,DESE ID
Uploading survey results takes a long time. It's on the order of 20-30 minutes per csv file.
## Decision
Instead of uploading all records each time, upload only a single csv file
## Consequences
There is a lot less time spent performing work that has already been done. This script, like the script to import all csvs, does not remove any responses. It only adds responses that do not already exist and modifies the likert value to the one found in the csv if the value differs from the database.