📊CSV Import Templates
Survey Responses Export
Survey response data format for analysis and reporting.
Explanation
Standard format for exporting survey responses with one row per respondent.
Examples
Survey CSV
Output
responseId,timestamp,email,q1_rating,q2_feedback,q3_recommend,q4_interests RSP-001,2024-12-15T10:30:00Z,john@example.com,5,"Great product!",yes,"feature1,feature2" RSP-002,2024-12-15T11:45:00Z,jane@example.com,4,"Good overall, needs improvement",yes,feature1 RSP-003,2024-12-15T14:20:00Z,bob@example.com,3,"Average experience",no,
Code Examples
JavaScript
// Analyze survey responses
function analyzeSurvey(csvData) {
const responses = parseCSV(csvData);
const analysis = {
totalResponses: responses.length,
averageRating: 0,
recommendCount: 0,
feedbackByRating: {}
};
responses.forEach(r => {
const rating = parseInt(r.q1_rating);
analysis.averageRating += rating;
if (r.q3_recommend === 'yes') {
analysis.recommendCount++;
}
if (!analysis.feedbackByRating[rating]) {
analysis.feedbackByRating[rating] = [];
}
analysis.feedbackByRating[rating].push(r.q2_feedback);
});
analysis.averageRating /= responses.length;
analysis.nps = (analysis.recommendCount / responses.length) * 100;
return analysis;
}Try it Now
💡 Tips
- Prefix question columns with q1_, q2_, etc.
- Include timestamp for time-based analysis
- Use consistent values (yes/no, 1-5 scale)
- Quote long text responses
- Consider separate CSV for each survey
- Include response ID for deduplication
⚠️ Common Pitfalls
- Open-ended responses may contain commas
- Missing responses should be empty, not "N/A"
- Timestamp timezone inconsistencies
- Large exports may need pagination
- Personally identifiable info handling