Commit 2e2eabe
Manus Sandbox
Checkpoint: v3.15.5: Fix CSV Parsing for Quoted Fields
Fixed critical bug where sample data was showing wrong column content due to improper CSV parsing.
Root Cause:
The CSV parser used simple .split(',') which doesn't handle quoted fields containing commas. When a field like Company Description contained commas, it would break the parsing and misalign all subsequent columns.
Example of the bug:
- Input: First_name,Last_Name,"Company Description"
- Row: Matthew,Stone,"Sonny's BBQ is a restaurants located in Jacksonville, FL. Part of..."
- Broken split: [Matthew, Stone, "Sonny's BBQ is a restaurants located in Jacksonville, FL. Part of a larger organization...]
- Result: Sample data showed company description instead of names
Solution:
Implemented proper RFC 4180 CSV parser that:
1. Respects quoted field boundaries
2. Handles escaped quotes ("")
3. Correctly identifies column separators even inside quoted fields
4. Preserves data integrity for all column types
Results:
- First_name samples now show: Matthew, Kaye, Travis, etc.
- Last_Name samples now show: Stone, Kirkpatrick, Wittock, etc.
- All columns properly aligned regardless of field content1 parent d72d191 commit 2e2eabe
2 files changed
Lines changed: 68 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
119 | 119 | | |
120 | 120 | | |
121 | 121 | | |
122 | | - | |
123 | | - | |
124 | | - | |
125 | | - | |
126 | | - | |
127 | | - | |
128 | | - | |
129 | | - | |
130 | | - | |
131 | | - | |
132 | | - | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
| 126 | + | |
| 127 | + | |
| 128 | + | |
| 129 | + | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
| 133 | + | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
| 138 | + | |
| 139 | + | |
| 140 | + | |
| 141 | + | |
| 142 | + | |
| 143 | + | |
| 144 | + | |
| 145 | + | |
| 146 | + | |
| 147 | + | |
| 148 | + | |
| 149 | + | |
| 150 | + | |
| 151 | + | |
| 152 | + | |
| 153 | + | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
133 | 161 | | |
134 | 162 | | |
135 | 163 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
349 | 349 | | |
350 | 350 | | |
351 | 351 | | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
| 359 | + | |
| 360 | + | |
| 361 | + | |
| 362 | + | |
| 363 | + | |
| 364 | + | |
| 365 | + | |
| 366 | + | |
| 367 | + | |
| 368 | + | |
| 369 | + | |
| 370 | + | |
| 371 | + | |
| 372 | + | |
| 373 | + | |
| 374 | + | |
| 375 | + | |
| 376 | + | |
| 377 | + | |
| 378 | + | |
| 379 | + | |
| 380 | + | |
0 commit comments