Python爬取的数据保存到CSV文件主要使用csv
模块,具体操作步骤如下:
一、核心步骤
-
导入模块
使用
import csv
导入CSV操作模块。 -
准备数据
-
数据通常以字典列表形式存在,字典的键为列名,值为对应数据。
-
若数据为其他格式(如列表),需转换为字典列表。
-
-
写入CSV文件
-
使用
with open
以写入模式打开文件,设置newline=''
避免空行,encoding='utf-8'
防止乱码。 -
创建
csv.writer
对象,通过writerow
写入表头,通过writerows
写入数据。
-
二、示例代码
以下是两种常见场景的代码示例:
场景一:基础写入
import csv
# 数据准备
headers = ['name', 'age', 'gender']
rows = [['Tom', '23', 'Male'], ['Jerry', '22', 'Female']]
# 写入文件
with open('data.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.writer(file)
writer.writerow(headers)
writer.writerows(rows)
场景二:字典列表写入
import csv
# 数据准备
data = [
{'id': 1, 'name': 'John', 'age': 20},
{'id': 2, 'name': 'Mike', 'age': 25}
]
# 写入文件
with open('data.csv', 'w', newline='', encoding='utf-8') as file:
writer = csv.DictWriter(file, fieldnames=['id', 'name', 'age'])
writer.writeheader()
writer.writerows(data)
三、注意事项
-
编码选择 :根据数据内容选择
utf-8
或gbk
,避免乱码。 -
文件路径 :使用绝对路径或相对路径,注意路径分隔符(如Windows使用反斜杠
\
)。 -
数据清洗 :爬取前需对数据进行清洗和格式化,确保与CSV结构匹配。
四、扩展功能
-
使用Pandas :若数据量较大,可转换为
DataFrame
后使用to_csv
方法,支持更多功能(如分块写入、压缩等)。 -
追加模式 :若需追加数据,使用
open
时添加模式'a'
。
通过以上方法,可高效将爬取的数据保存为结构化CSV文件,便于后续分析或导出。