# CSV解析器静默地从带引号的字段中删除前导/尾随空白

- **ID:** `data/csv-whitespace-trimming`
- **领域:** data
- **类别:** data_error
- **验证级别:** ai_generated
- **修复率:** 85%

## 根因

许多CSV解析器（例如pandas read_csv、Excel）默认从带引号的字段中删除空白，但有些不会，导致系统间数据不一致。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| pandas 2.0.0 | active | — | — |
| Python csv module 3.11 | active | — | — |
| Apache Spark 3.4.0 | active | — | — |

## 解决方案

1. ```
   Use pandas with skipinitialspace=False: df = pd.read_csv('file.csv', skipinitialspace=False)
   ```
2. ```
   Wrap fields in quotes and use a parser that preserves whitespace: csv.reader(csvfile, skipinitialspace=False)
   ```

## 无效尝试

- **Setting quoting=csv.QUOTE_NONE in Python's csv module** — This disables all quoting and may break fields containing commas. (85% 失败率)
- **Adding a post-processing step to re-add whitespace based on original file** — Does not affect how the CSV is parsed, only how data is validated. (70% 失败率)
