python csv 空值处理
时间: 2024-07-27 07:01:18 浏览: 131
在Python中处理CSV文件中的空值通常涉及到两个主要方面:读取文件时识别空值和写入文件时处理空值。
1. **读取CSV文件中的空值**:
Python的标准库`csv`模块在读取CSV时,默认会将逗号分隔的空字段视为None。例如,如果CSV中有"Name,"这样的行,它会被解析为`['Name', None]`。你可以直接处理None值,也可以设置`csv.reader`的`skipinitialspace`参数为True,去除首部空白导致的空值。
```python
import csv
with open('file.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
# 检查并处理空值
cleaned_row = [cell if cell else '' for cell in row]
```
2. **写入CSV文件时处理空值**:
如果你想在写入CSV时保持兼容性,可以使用`csv.writer`的`writerow()`函数,当传递列表中的元素包含None时,会被转换为''。如果你需要保留原始的None,可以在写入前将其替换为特定标记,如``或者其他的值。
```python
import csv
data = [['Name', 'Age'], ['John', 25], ['', 30], ['Jane', None]]
with open('output.csv', 'w', newline='') as file:
writer = csv.writer(file)
for row in data:
writer.writerow(row)
```
阅读全文