📊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