常用python代码大全-python使用csv模块进行CSV文件操作

发布时间:2024年01月17日

CSV文件是一种常见的数据存储格式,由逗号分隔的值组成。Python的csv模块提供了读取和写入CSV文件的功能。

以下是一个使用csv模块进行CSV文件操作的代码示例:

import csv

# 打开CSV文件
with open('example.csv', 'r') as csvfile:
    # 创建CSV读取器
    reader = csv.reader(csvfile)
    
    # 逐行读取CSV文件内容
    for row in reader:
        # 输出每一行的内容
        print(row)

在上面的代码中,我们首先使用open()函数打开一个名为example.csv的CSV文件,并指定模式为'r',表示只读模式。然后,我们使用csv.reader()函数创建一个CSV读取器对象,该对象将用于逐行读取CSV文件的内容。接下来,我们使用一个for循环逐行读取CSV文件的内容,并使用print()函数输出每一行的内容。

除了读取CSV文件的内容,csv模块还提供了写入CSV文件的功能。下面是一个使用csv模块写入CSV文件的代码示例:

import csv

# 定义要写入CSV文件的数据
data = [['Name', 'Age', 'Gender'],
        ['Alice', 25, 'Female'],
        ['Bob', 30, 'Male'],
        ['Charlie', 35, 'Male']]

# 打开CSV文件
with open('example.csv', 'w', newline='') as csvfile:
    # 创建CSV写入器
    writer = csv.writer(csvfile)
    
    # 写入数据到CSV文件
    writer.writerows(data)

在上面的代码中,我们首先定义了一个名为data的列表,其中包含了要写入CSV文件的数据。然后,我们使用open()函数打开一个名为example.csv的CSV文件,并指定模式为'w',表示写模式。此外,我们还指定了newline=''参数来避免在写入CSV文件时出现空行。接下来,我们使用csv.writer()函数创建一个CSV写入器对象,并使用writerows()方法将整个数据列表写入CSV文件中。最后,我们使用with语句来自动关闭文件句柄。

除了使用csv.writer()函数创建CSV写入器对象,还可以使用csv.DictWriter()函数创建字典写入器对象。该对象可以将数据以字典的形式写入CSV文件,其中字典的键将作为CSV文件的列名。下面是一个使用csv.DictWriter()函数的代码示例:

import csv

# 定义要写入CSV文件的数据
data = [{'Name': 'Alice', 'Age': 25, 'Gender': 'Female'},
        {'Name': 'Bob', 'Age': 30, 'Gender': 'Male'},
        {'Name': 'Charlie', 'Age': 35, 'Gender': 'Male'}]

# 打开CSV文件
with open('example.csv', 'w', newline='') as csvfile:
    # 创建CSV写入器
    fieldnames = ['Name', 'Age', 'Gender']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    
    # 写入列名
    writer.writeheader()
    
    # 写入数据到CSV文件
    for row in data:
        writer.writerow(row)

在上面的代码中,我们首先定义了一个名为data的列表,其中包含了要写入CSV文件的数据。这些数据以字典的形式存储,其中字典的键将作为CSV文件的列名。然后,我们使用open()函数打开一个名为example.csv的CSV文件,并指定模式为'w',表示写模式。接下来,我们使用csv.DictWriter()函数创建一个字典写入器对象,并指定列名为fieldnames。然后,我们使用writeheader()方法将列名写入CSV文件中。最后,我们使用一个for循环逐行将数据写入CSV文件中。注意,在使用writerow()方法时,我们需要将整个字典作为参数传递给该方法。

除了写入CSV文件,csv模块还提供了其他一些有用的功能,例如使用csv.reader()函数逐行读取CSV文件,使用csv.writer()函数将数据写入CSV文件等。

另外,csv模块还支持各种自定义选项,例如指定分隔符、转义字符、引号字符等。这些选项可以在创建CSV读取器或写入器对象时指定。例如,下面是一个使用自定义分隔符的代码示例:

import csv

# 定义要写入CSV文件的数据
data = [['Name', 'Age', 'Gender'],
        ['Alice', 25, 'Female'],
        ['Bob', 30, 'Male'],
        ['Charlie', 35, 'Male']]

# 打开CSV文件
with open('example.csv', 'w', newline='') as csvfile:
    # 创建CSV写入器,指定分隔符为分号
    fieldnames = ['Name', 'Age', 'Gender']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames, delimiter=';')
    
    # 写入列名
    writer.writeheader()
    
    # 写入数据到CSV文件
    for row in data:
        writer.writerow(row)

在上面的代码中,我们使用csv.DictWriter()函数创建了一个字典写入器对象,并指定分隔符为分号。然后,我们将数据写入CSV文件中。使用自定义分隔符可以让我们更灵活地处理不同的CSV文件格式。

文章来源:https://blog.csdn.net/luxiaol/article/details/135522494
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。