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学习笔记之变量、自定义函数用法,结合实例形式分析了Python变量、自定义函数的概念、功能、使用方法及相关操作注意事项,需要的朋友可以参考下
    2019-05-05
  • Python命令行解析工具argparse模块

    Python命令行解析工具argparse模块

    这篇文章主要介绍了Python命令行解析工具argparse模块,argparse模块是一个python标准库,它主要用于对用户从客户端输入的命令进行解析,这使得编写用户友好的命令行接口变得非常容易,需要的朋友可以参考下
    2023-05-05
  • 基于Python编写一个简单的端口扫描器

    基于Python编写一个简单的端口扫描器

    端口扫描是非常实用的,不止用在信息安全方面,日常的运维也用得到。本文将利用Python编写一个简单的端口扫描器,需要的可以参考一下
    2022-04-04
  • pandas 小数位数 精度的处理方法

    pandas 小数位数 精度的处理方法

    今天小编就为大家分享一篇pandas 小数位数 精度的处理方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • Python简单实现gif动图倒放示例

    Python简单实现gif动图倒放示例

    这篇文章主要为大家介绍了Python简单实现gif动图倒放的示例过程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Python+selenium实现自动循环扔QQ邮箱漂流瓶

    Python+selenium实现自动循环扔QQ邮箱漂流瓶

    这篇文章主要为大家详细介绍了Python+selenium实现自动循环扔QQ邮箱漂流瓶,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • 基于Python实现语音合成小工具

    基于Python实现语音合成小工具

    TTS(Text To Speech)是一种语音合成技术,可以让机器将输入文本以语音的方式播放出来,实现机器说话的效果。本文将使用pyttsx3库作为示范,编写一个语音合成小工具,感兴趣的可以了解一下
    2022-12-12
  • Python向日志输出中添加上下文信息

    Python向日志输出中添加上下文信息

    这篇文章主要介绍了Python向日志输出中添加上下文信息的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2017-05-05
  • 十个Python自动化常用操作,即拿即用

    十个Python自动化常用操作,即拿即用

    这篇文章主要介绍了十个Python自动化常用操作,即拿即用,文中有非常详细的代码示例,对正在学习python的小伙伴们有很好的帮助哟,需要的朋友可以参考下
    2021-05-05
  • 基于django和dropzone.js实现上传文件

    基于django和dropzone.js实现上传文件

    这篇文章主要介绍了基于django和dropzone.js实现上传文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-11-11

最新评论