Python使用csv模块读写csv文件
发布日期:2021-05-12 20:11:37 浏览次数:19 分类:精选文章

本文共 2333 字,大约阅读时间需要 7 分钟。

Python使用csv模块读写csv文件

Csv文件是一种将数据以逗号分隔的纯文本格式存储的文件。这种格式不仅适合存储表格数据,还可以被各种程序解析和处理。作为开发人员,我们往往需要将数据从数据库或其他系统中提取,并以csv文件的形式保存下来,以便于后续的处理或分析。下面我们将学习如何使用Python的csv模块来实现数据的读写操作。

一、将数据写入csv文件中

在Python中,我们可以使用 csv模块来将数据写入csv文件。下面的代码展示了如何将数据保存到csv文件中:

import csv
csv_data = (
(1, 2, 3, 4, 5, 6),
('a', 'b', 'c', 'd', 'e', 'f'),
('p', 'y', 't', 'h', 'o', 'n')
)
output_file_name = 'csv_file.csv'
def save_csv(target_list, output_file_name):
"""将数据写入csv文件"""
if not output_file_name.endswith('.csv'):
output_file_name += '.csv'
csv_file = open(output_file_name, "w", newline="")
csv_writer = csv.writer(csv_file)
csv_writer.writerow(target_list[0])
csv_writer.writerows(target_list[1:])
csv_file.close()
save_csv(csv_data, output_file_name)

代码描述:

1. 首先,我们导入 csv 模块,这是进行csv操作的核心库。

2. 定义了一个包含三行数据的元组 csv_data,这里的数据将会被写入csv文件中。每一行的数据是一个元组,包含了若干字段信息。

3. 定义了一个 save_csv 函数,负责将数据写入指定的 output_file_name csv文件中。

4. 在函数内部,首先检查 output_file_name 是否以 .csv 结束。如果没有,则自动添加 .csv 后缀。

5. 使用 open 函数打开以读写模式(k+"r")的 csv文件,其中 specify newline='' 来避免出现多余的换行符问题。

6. 通过 csv.writer 获取一个写入器 csv_writer,并使用 writerow 方法将数据文件的表头写入文件中。

7. 调用 writerows 方法,将存储在 target_list 中的数据逐行写入 csv文件中。如果 target_list 是一个列表,每个元素都是一个行的数据,那么 writerows 方法会确保这些数据按行被写入文件中。

8. 最后,确保 csv文件被关闭覆盖,避免文件资源泄漏。

运行以上代码后,系统会在当前目录下创建一个 csv_file.csv 文件,并将 csv_data 中的数据写入该文件中。你可以打开这个 csv文件查看它的内容。

二、从csv文件中读取数据

接下来,我们来看看如何从csv文件中读取数据。在Python中,我们可以使用 csv模块中的 csv.reader 来打开和解析 csv文件。下面的代码展示了如何读取csv文件的内容:

input_file_name = 'csv_file.csv'
def read_csv(input_file_name):
"""读取csv文件数据"""
with open(input_file_name, 'r', encoding='utf-8') as csv_file:
csv_reader = csv.reader(csv_file)
print(csv_reader)
data_line = next(csv_reader)
print("读取的第一行为:", data_line)
for line in csv_reader:
print("处理的行:", ''.join(line))

代码描述:

1. 在函数 read_csv 中,使用 with 语句打开指定名称的 csv文件,确保文件在操作完成后自动关闭。这种写法非常安全,可以避免因文件未关闭而产生的潜在问题。

2. 使用 csv.reader(csv_file) 将 csv文件的内容解析为一个迭代器 csv_reader。这个迭代器会依次生成 csv文件中的每一行数据。

3. 调用 next(csv_reader) 读取 csv_reader 对应的下一个元素。这通常是一个行的数据,按照元组的形式返回。

4. 通过一个简单的循环,我们可以逐行读取 csv文件的内容,并输出到控制台。这里使用 ''.join(line) 是为了处理每一行的元素,将它们连接成一个字符串,以便更容易阅读。

运行以上代码后,你会看到 csv文件的内容被读取并打印出来。如果 csv文件中包含多个数据行,这个代码会正确地将它们逐一读取和显示。

以上就是使用 Python 计算机广告牌模块进行 csv 文件读写操作的全部步骤。通过这些基本的操作,你可以轻松地将数据存储到 csv 文件中,并从已有的 csv 文件中读取数据。

上一篇:Python使用xlwt和xlrd读写excel文件
下一篇:Python生成器实现及yield关键字

发表评论

最新留言

不错!
[***.144.177.141]2025年04月20日 05时24分13秒