Python读写csv文件的超详细步骤

 更新时间:2023年05月15日 14:24:50   作者:stuchhe  
python提供了大量的库,可以非常方便的进行各种操作,下面这篇文章主要给大家介绍了关于Python读写csv文件的超详细步骤,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

要在 Python 中写入 CSV,请使用 Python 的 csv 模块。

例如,让我们将一个字符串列表写入一个新的 CSV 文件:

import csv
data = ["This", "is", "a", "Test"]
with open('example.csv', 'w') as file:
    writer = csv.writer(file)
    writer.writerow(data)

 因此,您会在当前文件夹中看到一个名为 example.csv 的文件。

用 Python 编写 CSV 的 4 个步骤

要在 Python 中写入 CSV 文件:

1. 以写入模式打开 CSV 文件。 这是使用 open() 函数发生的。 给它文件的路径作为第一个参数。 将模式指定为第二个参数(“r”表示读取,“w”表示写入)。
2. 创建 CSV 编写器对象。 为此,创建一个 csv 模块的 writer() 对象,并将打开的文件作为其参数传递。
3. 将数据写入 CSV 文件。 使用 writer 对象的 writerow() 函数将数据写入 CSV 文件。
4. 关闭 CSV 文件,使用文件的 close() 方法。

这是一个说明此过程的示例:

import csv
# 1.
file = open('test.csv', 'w')
# 2.
writer = csv.writer(file)
# 3.
data = ["This", "is", "a", "Test"]
writer.writerow(data)
# 4.
file.close()

这段代码在当前文件夹中创建了一个名为 test.csv 的文件。

如果指定的文件不存在,open() 函数将打开一个新文件。 如果是,则打开现有文件。

速写

要缩短写入 CSV 的时间,请使用 with 语句打开文件。 这样你就不用担心自己关闭文件了。 with 会自动处理该部分。

例如:

import csv
# 1. step
with open('test.csv', 'w') as file:
    # 2. step
    writer = csv.writer(file)
    # 3. step
    data = ["This", "is", "a", "Test"]
    writer.writerow(data)

这将在当前文件夹中创建一个名为 test.csv 的新 CSV 文件,并将字符串列表写入其中。

如何在 Python 中将非 ASCII 字符写入 CSV

默认情况下,您不能将非 ASCII 字符写入 CSV 文件。

要支持将非 ASCII 值写入 CSV 文件,请在 open() 调用中将字符编码指定为第三个参数。

with open('PATH_TO_FILE.csv', 'w', encoding="UTF8")

其余过程遵循您之前学到的步骤。

如何为 CSV 文件创建标题

到目前为止,您已经创建了缺少结构的 CSV 文件。

在 Python 中,可以使用用于将任何数据写入 CSV 

writerow() 函数为任何 CSV 文件编写标头。

 例子:  让我们创建一个包含学生数据的示例 CSV 文件。

为了很好地构建数据,为学生创建一个标题并将其插入 CSV 文件的开头。 在此之后,您可以按照之前的相同步骤将数据写入 CSV 文件。

这是代码:

import csv
# Define the structure of the data
student_header = ['name', 'age', 'major', 'minor']
# Define the actual data
student_data = ['Jack', 23, 'Physics', 'Chemistry']
# 1. Open a new CSV file
with open('students.csv', 'w') as file:
    # 2. Create a CSV writer
    writer = csv.writer(file)
    # 3. Write data to the file
    writer.writerow(student_header)
    writer.writerow(student_data)

这会将 students.csv 文件创建到您当前正在使用的文件夹中。新文件如下所示:

如何在 Python 中将多行写入 CSV 文件

在 Python 中,您可以使用 CSV 编写器的 writerows() 函数同时将多行写入 CSV 文件。

例子。 假设您要将多行数据写入 CSV 文件。 例如,您可能有一个学生列表,而不是只有其中一个。

要将多行数据写入 CSV,请使用 writerows() 方法。

这是一个例子:

import csv
student_header = ['name', 'age', 'major', 'minor']
student_data = [
    ['Jack', 23, 'Physics', 'Chemistry'],
    ['Sophie', 22, 'Physics', 'Computer Science'],
    ['John', 24, 'Mathematics', 'Physics'],
    ['Jane', 30, 'Chemistry', 'Physics']
]
with open('students.csv', 'w') as file:
    writer = csv.writer(file)
    writer.writerow(student_header)
    # Use writerows() not writerow()
    writer.writerows(student_data)

 这会生成一个新的 CSV 文件,如下所示:

如何在 Python 中将字典写入 CSV 文件

要在 Python 中将字典写入 CSV 文件,请按照以下三个步骤使用 DictWriter 对象:

1. 使用 csv 模块的 DictWriter 对象并在其中指定字段名称。

2. 使用 writeheader() 方法将标头创建到 CSV 文件中。

3. 使用 writerows() 方法将字典数据写入文件。

例子:让我们将学生数据字典写入 CSV 文件。

import csv
student_header = ['name', 'age', 'major', 'minor']
student_data = [
    {'name': 'Jack', 'age': 23, 'major': 'Physics', 'minor': 'Chemistry'},
    {'name': 'Sophie', 'age': 22, 'major': 'Physics', 'minor': 'Computer Science'},
    {'name': 'John', 'age': 24, 'major': 'Mathematics', 'minor': 'Physics'},
    {'name': 'Jane', 'age': 30, 'major': 'Chemistry', 'minor': 'Physics'}
]
with open('students.csv', 'w') as file:
    # Create a CSV dictionary writer and add the student header as field names
    writer = csv.DictWriter(file, fieldnames=student_header)
    # Use writerows() not writerow()
    writer.writeheader()
    writer.writerows(student_data)

现在结果与前面示例中的 students.csv 文件相同:

结论

CSV 或逗号分隔值是一种常用的文件格式。 它由通常用逗号分隔的值组成。

要在 Python 中写入 CSV,您需要通过以下步骤使用 csv 模块:

1. 以写入模式打开 CSV 文件。

2. 创建 CSV 编写器对象。

3. 将数据写入 CSV 文件。

4. 关闭 CSV 文件。

这是一个实际的例子。

import csv
data = ["This", "is", "a", "Test"]
with open('example.csv', 'w') as file:
    writer = csv.writer(file)
    writer.writerow(data)

编码愉快!

总结

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

相关文章

  • 对python的unittest架构公共参数token提取方法详解

    对python的unittest架构公共参数token提取方法详解

    今天小编就为大家分享一篇对python的unittest架构公共参数token提取方法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python BeautifulSoup库的安装与使用

    python BeautifulSoup库的安装与使用

    这篇文章主要介绍了python BeautifulSoup库的安装与使用,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-12-12
  • python中让自定义的类使用加号"+"

    python中让自定义的类使用加号"+"

    这篇文章主要介绍了python中让自定义的类使用加号"+",如果对两个对象直接“+”肯定是不行的,因为还没有对CartoonImage类重载加法运算符__add__(),下文小编举例形式讲解该内容,需要的下伙伴可以参考一下
    2022-03-03
  • Python实现Excel表格转置与翻译工具

    Python实现Excel表格转置与翻译工具

    本文主要介绍如何使用Python编写一个GUI程序,能够读取Excel文件,将第一个列的数据转置,并将英文内容翻译成中文,有需要的小伙伴可以参考一下
    2024-10-10
  • python使用json序列化datetime类型实例解析

    python使用json序列化datetime类型实例解析

    这篇文章主要介绍了python使用json序列化datetime类型实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-02-02
  • Python+PyQt5实现网口功能测试详解

    Python+PyQt5实现网口功能测试详解

    这篇文章主要为大家详细介绍了Python+PyQt5实现网口功能测试的相关知识,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-02-02
  • python3爬虫中多线程进行解锁操作实例

    python3爬虫中多线程进行解锁操作实例

    在本篇文章里小编给大家整理了关于python3爬虫中多线程进行解锁操作实例内容,需要的朋友们可以参考下。
    2020-11-11
  • 3分钟学会一个Python小技巧

    3分钟学会一个Python小技巧

    Python时间日期转换在开发中是非常高频的一个操作,你经常会遇到需要将字符串转换成 datetime 或者是反过来将 datetime 转换成字符串,今天小编给大家带来了一个Python小技巧,感兴趣的朋友一起看看吧
    2018-11-11
  • python format格式化和数字格式化

    python format格式化和数字格式化

    这篇文章主要介绍了python format格式化和数字格式化,格式化字符串的函数 str.format(),它增强了字符串格式化的功能,基本语法是通过{} 和 : 来代替以前的 % ,下面内容介绍,需要的朋友可以参考一下
    2022-02-02
  • pyhton Sanic框架的文件上传功能开发实战示例教程

    pyhton Sanic框架的文件上传功能开发实战示例教程

    Sanic是一个Python 3.5+的异步Web框架,它的设计理念与Flask相似,但采用了更高效的异步I/O处理,在处理文件上传时,Sanic同样提供了方便、高效的方法,本教程将结合实际案例,详细介绍如何在Sanic框架中实现文件上传的功能,感兴趣的朋友跟随小编一起看看吧
    2024-08-08

最新评论