本文目录导读:

在Python中写入CSV数据有多种方法,以下是几种常用的方式:
使用 csv 模块(推荐)
写入单行数据
import csv
# 写入单行数据
with open('data.csv', mode='w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerow(['姓名', '年龄', '城市']) # 写入表头
writer.writerow(['张三', 25, '北京']) # 写入数据
写入多行数据
import csv
# 准备数据
data = [
['姓名', '年龄', '城市'], # 表头
['张三', 25, '北京'],
['李四', 30, '上海'],
['王五', 28, '广州']
]
# 写入多行数据
with open('data.csv', mode='w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerows(data) # 一次性写入所有行
使用字典写入(更清晰)
import csv
# 准备字典数据
data = [
{'姓名': '张三', '年龄': 25, '城市': '北京'},
{'姓名': '李四', '年龄': 30, '城市': '上海'},
{'姓名': '王五', '年龄': 28, '城市': '广州'}
]
# 写入CSV
with open('data.csv', mode='w', newline='', encoding='utf-8') as file:
fieldnames = ['姓名', '年龄', '城市'] # 字段名称
writer = csv.DictWriter(file, fieldnames=fieldnames)
writer.writeheader() # 写入表头
writer.writerows(data) # 写入所有数据
使用 pandas 库(适用于大数据处理)
import pandas as pd
# 创建DataFrame
data = {
'姓名': ['张三', '李四', '王五'],
'年龄': [25, 30, 28],
'城市': ['北京', '上海', '广州']
}
df = pd.DataFrame(data)
# 写入CSV文件
df.to_csv('data.csv', index=False, encoding='utf-8')
追加写入(不覆盖已有数据)
import csv
# 追加模式写入
with open('data.csv', mode='a', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerow(['赵六', 35, '深圳'])
完整示例:读取和写入结合
import csv
# 准备源数据
source_data = [
['产品', '价格', '库存'],
['苹果', 5.5, 100],
['香蕉', 3.2, 150],
['橙子', 4.8, 80]
]
# 写入CSV
with open('products.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerows(source_data)
# 读取并处理数据
with open('products.csv', 'r', encoding='utf-8') as f:
reader = csv.reader(f)
header = next(reader) # 跳过表头
for row in reader:
product, price, stock = row
print(f"产品: {product}, 价格: {price}, 库存: {stock}")
注意事项
- 编码问题:使用
encoding='utf-8'避免中文乱码 - newline参数:使用
newline=''避免空行问题 - 文件模式:
'w':覆盖写入'a':追加写入'x':只创建新文件(文件已存在会报错)
选择哪种方法取决于你的需求:
- 简单任务:使用
csv模块 - 处理复杂数据或大量数据:使用
pandas - 需要精细控制:使用
csv模块的自定义选项
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播