Python 创建 CSV 文件

1,968 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第26天,点击查看活动详情

前言

CSV 文件是具有高度兼容格式的简单电子表格,是带有表格数据的文本文件,是以逗号分隔(因此称为逗号分隔值,Comma-Separated Values)的简单表格格式。 CSV 文件可以使用 Python 的标准库创建,并且可以被各种电子表格软件所读取和修改。

Python 创建 CSV 文件

为了创建 CSV 文件,只需要使用 Python 的标准库,本节中,我们将介绍如何使用 Python 创建 CSV 电子表格。

首先,导入 csv 模块:

>>> import csv

定义电子表格标题,其中包含数据的输入方式(例如第一列表示用户名,第二列表示电影名,第三列表示用户对电影的评分)和要存储的数据:

>>> header = ('User name', 'Movie name', 'rating')
>>> data = [('001', 'Star Wars', 7.8), ('002', 'Back to Future', 8.0), ('002', 'Batman', 7.7), ('003', 'Spy 007', 8.3)]

将数据写入 CSV 文件,保存 movies_rating.csv 文件:

>>> with open('movies_rating.csv', 'w', newline='') as f:
...     movies = csv.writer(f)
...     movies.writerow(header)
...     for row in data:
...             movies.writerow(row)
...
29
19
24
16
17

在以上代码中,我们首先使用写 (w) 模式打开一个新文件 movies_rating.csvcsv 文件中的文件句柄对象引用该文件,csv.writer() 函数使用该文件创建 CSV 文件并进行写入操作,为了在写入完成后自动关闭文件句柄,我们使用 with 关键字将以上操作包含在同一代码块中,以便在操作完成后自动关闭文件。

open 方法中的 newline='' 参数是为了在写入文件时能够控制换行符格式并避免不兼容问题,例如可以防止添加多个换行符。在写入普通文件时,通常不会遇到此问题,但有时 CSV 格式可能要求换行符是特定字符,而不能使用默认字符。例如,如果要在不同操作系统上使用 CSV 文件,就可能会发生这种情况。因此,最好在 CSV 文件编写时中明确得进行声明。

在 writer 中我们使用 writerow() 方法逐行写入数据内容。第一行是 csv 标头 header,其余行是数据行。

在电子表格软件中检查生成的 CSV 文件。在下图中可以看到,该文件使用 WPS 软件打开展示,与我们的预期效果一致:

movies_rating.csv文件