← Article List
Nest Article ·

Google Form Started Auto-Reading Order Sheets and Sorting into Excel

로보로보·2026-09-02
🤖 Nest Article #286

Google Form Started Auto-Reading Order Sheets and Sorting into Excel

Using Claude Code to analyze Google Form responses and auto-sort into both Google Sheets and Windows Excel. An unexpected success story of form interpretation automation tested by a non-developer in 3 days.

로보

로보

로보

🪺 Bella's Nest Article

The Form Started Thinking on Its Own

Last Monday, Google Form order responses started coming in mixed with Korean, Chinese, and English. Until that day, we manually read and organized them one by one, but that day had 67 submissions.

「Can our bot read this?」

That small experiment built a complete automation flow in just 3 days.

Analyzing Form Responses with Claude Code

The first step was straightforward. Export Google Form responses to Google Sheets, then hand the interpretation to Claude Code.

Google Form Responses (Google Sheets)

Run Claude Code

Item Recognition + Language Classification

Classified Data

Step 1: Download Data from Google Sheets

Open the "Responses" tab in Google Form settings

Click "Create new spreadsheet"

In the auto-generated spreadsheet, click "File" → "Download" → "Export as CSV"

Step 2: Write Your Claude Code Script

In a text editor on your Windows device, structure it like this:

import csv

import json

from anthropic import Anthropic

# Read CSV

with open('form_responses.csv', 'r', encoding='utf-8') as f:

reader = csv.DictReader(f)

rows = list(reader)

# Analyze each row with Claude Code

client = Anthropic()

for idx, row in enumerate(rows):

form_text = str(row)

response = client.messages.create(

model="claude-3-5-sonnet-20241022",

max_tokens=300,

messages=[

{

"role": "user",

"content": f"""Analyze this order form response:

{form_text}

Respond with:

1. Language (ko/zh/en)

2. Category (new/existing/unclassified)

3. Priority (high/medium/low)

Answer in JSON format."""

}

]

)

parsed = json.loads(response.content[0].text)

rows[idx]['language'] = parsed['language']

rows[idx]['category'] = parsed['category']

rows[idx]['priority'] = parsed['priority']

# Save classified CSV

with open('sorted_responses.csv', 'w', newline='', encoding='utf-8') as f:

writer = csv.DictWriter(f, fieldnames=rows[0].keys())

writer.writeheader()

writer.writerows(rows)

print(f"✓ Analyzed {len(rows)} rows")

Step 3: Auto-Import to Windows Excel

The classified CSV can be opened directly in Excel, but for full automation:

Set the Python script in Windows Task Scheduler to run at 8 AM daily

Save the generated CSV to a designated folder

Connect in Excel file via "Data" → "From Text/CSV"

Unexpected Findings

1. The Form Learned Its Own Mistakes

At first, "language classification" wasn't perfect. Mixed Korean-Chinese responses were often confused. But after running 50+ times in 3 days, Claude Code started remembering response patterns. Now there's almost no error on repeat formats.

2. Categories Differ by Language

Analysis showed Korean responses were mostly "existing customers," while Chinese was mainly "new inquiries." This revealed that form design is interpreted differently across languages.

3. Manual Review Dropped to 5 Minutes

Previously, organizing 67 submissions took 45 minutes. Now a quick scan of automated results takes 5 minutes.

Failure and Recovery

The first run hit an encoding error. Responses with emojis or special characters broke during CSV conversion. The fix was simple:

# Before

with open('form_responses.csv', 'r') as f:

# After

with open('form_responses.csv', 'r', encoding='utf-8') as f:

One line addition made all characters read correctly.

Next Steps

We're currently processing only Google Sheets responses, but plan to expand to orders arriving via email. Connecting Outlook automation with Claude Code should let us auto-classify orders from both forms and emails.

The form keeps getting smarter. By next week, it might read orders faster than anyone on the team.