Python文件之CSV模块读写文件
时间: 2025-08-05 12:21:06 浏览: 11
### Python CSV模块读写文件示例教程
#### 1. CSV模块简介
Python的`csv`模块提供了处理CSV(逗号分隔值)文件的功能,能够轻松实现文件的读取和写入操作[^1]。该模块支持多种配置选项,例如自定义分隔符、引号规则等,以适应不同的CSV文件格式。
#### 2. CSV文件读取操作
以下是一个使用`csv.reader`读取CSV文件的示例代码:
```python
import csv
import sys
filename = 'example.csv'
try:
with open(filename, newline='') as f:
reader = csv.reader(f)
for row in reader:
print(row)
except csv.Error as e:
sys.exit('file {}, line {}: {}'.format(filename, reader.line_num, e))
```
上述代码展示了如何打开一个CSV文件并逐行读取内容[^2]。如果文件中包含错误格式的数据,程序将捕获`csv.Error`异常并输出错误信息。
#### 3. CSV文件写入操作
以下是使用`csv.writer`将数据写入CSV文件的示例代码:
```python
import csv
def write_csv():
# 打开文件以写入模式
with open('output.csv', 'w', newline='', encoding='utf-8') as fw:
writer = csv.writer(fw)
# 数据准备
number = range(65, 70)
char = list(map(chr, number))
# 写入数据
for i in range(len(char)):
writer.writerow([char[i], number[i]])
write_csv()
```
此代码片段展示了如何创建一个新的CSV文件,并将字符与对应的ASCII码写入其中[^3]。
#### 4. 自定义CSV写入操作
以下是一个更复杂的写入示例,演示如何将多维数据写入CSV文件:
```python
import csv
# 定义数据
data = [
(1, 2, 3, 4, 5, 6),
('a', 'b', 'c', 'd', 'e', 'f'),
('p', 'y', 't', 'h', 'o', 'n')
]
# 写入函数
def save_to_csv(data, filename):
with open(filename, 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data)
save_to_csv(data, 'custom_data.csv')
```
这段代码通过`writerows`方法一次性写入多行数据[^4],简化了循环操作。
#### 5. 注意事项
- 在读取或写入CSV文件时,建议始终使用`newline=''`参数打开文件,以避免在不同操作系统上出现换行符问题。
- 如果文件包含非ASCII字符,确保指定正确的编码(如`encoding='utf-8'`)。
- `csv.writer`和`csv.reader`默认使用逗号作为分隔符,但可以通过`delimiter`参数自定义分隔符。
阅读全文
相关推荐


















