前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python使用csv模块读写csv文件

Python使用csv模块读写csv文件

作者头像
Python碎片公众号
发布2021-02-26 14:32:34
3.4K0
发布2021-02-26 14:32:34
举报
文章被收录于专栏:Python碎片公众号的专栏

csv是逗号分隔值(Comma-Separated Values)的简称。

有时也称为字符分隔值,因为分隔字符也可以不是逗号,其文件以纯文本形式存储表格数据。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。

csv可以存储各种各样的数据,不过,通常来说,比较适合存储有相同字段或表头的一批数据,这些数据可以展示成表格。

可以使用excel开启csv文件,打开后看到的数据以excel表格的方式进行展示。

现在我们就开始使用csv将数据写入csv文件,然后将数据从csv中读取出来使用。

一、将数据写入csv文件中

代码语言:javascript
复制
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="")
    key_data = target_list[0]
    value_data = [target for target in target_list]
    csv_writer = csv.writer(csv_file)
    csv_writer.writerow(key_data)
    csv_writer.writerows(value_data)
    csv_file.close()


save_csv(csv_data, output_file_name)

代码描述:

1.我们先将需要保存的数据解析好,保存成固定的数据类型(保存成列表,元组,字典都可以,根据具体场景来选择)

2.我们将保存数据到csv文件的代码封装成一个函数,方便重用。步骤主要分为三步:打开文件,写入数据,关闭文件。其中,写入数据时记得先写入表头(我们使用excel打开时需要表头)再写入表格中的数据,数据要以一个列表的形式传递给writerows()。

运行结果:

运行以上代码后,会在当前目录下创建一个csv_file.csv的文件,并写入csv_data的数据,可以使用excel打开文件查看。如下图。

二、从csv文件中读取数据

代码语言:javascript
复制
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)
        # csv_reader对象,是一个列表的格式
        print(csv_reader)
        # csv_reader对象的一个迭代器,可以通过next()取出其中的元素
        print(next(csv_reader))
        # 也可以通过for循环取出所有元素
        for line in csv_reader:
            print(''.join(line))


read_csv(output_file_name)

代码描述:

1.可以通过with上下文管理的方式打开csv文件,如果想在with的代码块外对读出来的数据进行处理,则可以使用open()打开,再使用close()关闭。

2.csv通过csv.reader()来打开csv文件,返回的是一个列表格式的迭代器,可以通过next()方法获取其中的元素,也可以使用for循环依次取出所有元素。

运行结果:

代码语言:javascript
复制
<_csv.reader object at 0x00000295BC044528>
['1', '2', '3', '4', '5', '6']
123456
abcdef
python

这样,将数据写入csv和从csv中读取数据就完成了,使用过程是非常简单的。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-06-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python 碎片 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档