Python中csv文件的写入与读取方法例子

 更新时间:2023年09月19日 08:27:26   作者:初见~  
这篇文章主要给大家介绍了关于Python中csv文件的写入与读取方法的相关资料,csv是"Comma-Separated Values(逗号分割的值)"的首字母缩写,它其实和txt文件一样,都是纯文本文件,使用Python来读写csv文件是非常容易的,需要的朋友可以参考下

1.csv文件介绍

CSV文件是一种常见的数据格式,它以逗号分隔不同的字段,每行表示一个数据记录。在Python中,我们可以使用csv模块来读取和写入CSV文件。

2.写入CSV文件

在Python中,我们可以使用csv模块的writer对象来写入CSV文件。下面是一个例子:

import csv
# 创建要写入的数据
data = [
    ['张三', 20, '男'],
    ['李四', 25, '女'],
    ['王五', 30, '男']
]
# 打开文件,指定写入模式
with open('data.csv', 'w', newline='') as file:
    # 创建csv写入对象
    writer = csv.writer(file)
    # 写入表头
    writer.writerow(['姓名', '年龄', '性别'])
    # 写入数据
    writer.writerows(data)

在上面的例子中,我们首先创建了要写入的数据,它是一个包含多个列表的列表。然后使用open()函数打开文件,并指定写入模式。newline=''表示不使用额外的换行符。接着创建了一个csv写入对象writer,使用writerow()方法写入表头,使用writerows()方法写入数据。最后,使用with语句来自动关闭文件。

需要注意的是,写入CSV文件时,需要将数据转换成字符串格式。如果写入的数据中包含逗号、双引号等特殊字符,需要进行处理。例如:

import csv
# 创建要写入的数据
data = [
    ['张三', 20, '男'],
    ['李四', 25, '女'],
    ['王五', 30, '男'],
    ['"Tom, Jerry"', 35, '男']
]
# 打开文件,指定写入模式
with open('data.csv', 'w', newline='') as file:
    # 创建csv写入对象
    writer = csv.writer(file)
    # 写入表头
    writer.writerow(['姓名', '年龄', '性别'])
    # 写入数据
    for row in data:
        # 将包含特殊字符的数据进行处理
        row[0] = row[0].replace('"', '""')
        row[0] = f'"{row[0]}"'
        writer.writerow(row)

在上面的例子中,我们创建了一个包含特殊字符的数据,它包含逗号和双引号。为了写入这个数据,我们需要将双引号进行转义,并在数据前后加上双引号。具体来说,我们使用replace()方法将双引号替换成两个双引号,然后使用f-string将数据前后加上双引号。

3.读取CSV文件

在Python中,我们可以使用csv模块的reader对象来读取CSV文件。下面是一个例子:

import csv
# 打开文件,指定读取模式
with open('data.csv', 'r') as file:
    # 创建csv读取对象
    reader = csv.reader(file)
    # 遍历每一行数据
    for row in reader:
        print(row)

在上面的例子中,我们使用open()函数打开文件,并指定读取模式。然后创建了一个csv读取对象reader,使用for循环遍历每一行数据,并使用print()函数输出。

需要注意的是,在读取CSV文件时,每一行数据都会被解析成一个列表。如果CSV文件中有表头,第一行数据就是表头,可以使用next()函数跳过:

import csv
# 打开文件,指定读取模式
with open('data.csv', 'r') as file:
    # 创建csv读取对象
    reader = csv.reader(file)
    # 跳过表头
    next(reader)
    # 遍历每一行数据
    for row in reader:
        print(row)

在上面的例子中,我们使用next()函数跳过了表头。

另外,如果CSV文件中包含特殊字符,例如逗号、双引号等,需要使用csv.readerquotechar参数来指定转义字符。例如:

import csv
# 打开文件,指定读取模式
with open('data.csv', 'r') as file:
    # 创建csv读取对象
    reader = csv.reader(file, quotechar='"')
    # 遍历每一行数据
    for row in reader:
        print(row)

在上面的例子中,我们使用quotechar='"'来指定双引号为转义字符。这样,包含双引号的数据就可以正确解析了。

总结

到此这篇关于Python中csv文件的写入与读取的文章就介绍到这了,更多相关Python csv文件写入与读取内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python实现决策树分类

    python实现决策树分类

    这篇文章主要为大家详细介绍了python实现决策树分类的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-08-08
  • python矩阵基本运算的实现

    python矩阵基本运算的实现

    本文主要介绍了python 矩阵的基本运算,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • 使用python编写简单计算器

    使用python编写简单计算器

    这篇文章主要为大家详细介绍了使用python编写一个简单的计算器,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-09-09
  • Python安装docx依赖包教程

    Python安装docx依赖包教程

    这篇文章主要介绍了Python安装docx依赖包教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Win7与Win10下的Tensorboard可视化问题

    Win7与Win10下的Tensorboard可视化问题

    这篇文章主要介绍了Win7与Win10下的Tensorboard可视化问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 解决python中 f.write写入中文出错的问题

    解决python中 f.write写入中文出错的问题

    今天小编就为大家分享一篇解决python中 f.write写入中文出错的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Python开发之利用re模块去除代码块注释

    Python开发之利用re模块去除代码块注释

    Python的re模块主要是正则表达式的操作函数,下面这篇文章主要给大家介绍了关于Python开发之利用re模块去除代码块注释的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-11-11
  • Python中排序函数sorted()函数的使用实例

    Python中排序函数sorted()函数的使用实例

    sorted()作为Python内置函数之一,其功能是对序列(列表、元组、字典、集合、还包括字符串)进行排序,下面这篇文章主要给大家介绍了关于Python中排序函数sorted()函数的相关资料,需要的朋友可以参考下
    2022-11-11
  • 使用python实现三维图可视化

    使用python实现三维图可视化

    这篇文章主要介绍了使用python实现三维图可视化,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • Python中的字符串类型基本知识学习教程

    Python中的字符串类型基本知识学习教程

    这篇文章主要介绍了Python中的字符串类型基本知识学习教程,包括转义符和字符串拼接以及原始字符串等基础知识讲解,需要的朋友可以参考下
    2016-02-02

最新评论