要在 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 文件:

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

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文件的操作方法-LMLPHP

如何在 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文件的操作方法-LMLPHP

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

使用 DictWriter 对象可以实现在 Python 中将字典写入 CSV 文件, 具体包括以下三个步骤:

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 文件相同:

Python读写csv文件的操作方法-LMLPHP

结论

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文件的操作方法的详细内容,更多请关注Work网其它相关文章!

09-03 15:42