python中csv库的writer函数

  • Post category:Python

当我们需要在Python中处理CSV文件格式的数据时,通常会用到csv库。csv库中的writer函数是将数据写入CSV文件的主要函数。

该函数的基本语法如下:

csv.writer(csvfile, dialect='excel', **fmtparams)
  • 参数csvfile:文件对象,必须是以写入模式打开的。
  • 参数dialect:CSV格式的方言,常用值有excel、excel-tab、unix等。默认值是excel。
  • 参数fmtparams:以字典的形式指定其他CSV文件格式的参数,比如delimiter、quotechar等等。比较重要的有:
  • delimiter:指定每个字段的分隔符,默认是逗号。
  • quotechar:指定文本字段的引用符,默认是双引号。
  • escapechar:指定转义字符,默认是个反斜杠。如果delimiter和quotechar都出现在文本字段中,需要转义。

下面是一个代码示例,给出了如何使用writer函数将数据写入CSV文件中:

import csv

# 打开一个文件,以写入模式打开
with open('data.csv', mode='w') as file:
    # 创建CSV写入器,指定逗号作为分隔符
    writer = csv.writer(file, delimiter=',')

    # 写入表头
    writer.writerow(['姓名', '年龄', '成绩'])

    # 写入数据
    writer.writerow(['小明', 18, 90])
    writer.writerow(['小红', 19, 95])
    writer.writerow(['小华', 20, 98])

在上面的代码中,我们先以写入模式打开一个名为data.csv的文件,并使用CSV写入器writer,并指定逗号为分隔符。然后我们写入表头,即第一行,用writer.writerow函数写入一个列表。接下来,我们写入数据行,每一行是由三个元素组成的列表,并用writer.writerow函数写入。

下面是第二个代码示例,演示了如何使用writer函数将数据从列表写入文件的多行的多列中:

import csv

# 打开一个文件,以写入模式打开
with open('data.csv', mode='w') as file:
    # 创建CSV写入器,指定逗号作为分隔符
    writer = csv.writer(file, delimiter=',')

    # 写入表头
    writer.writerow(['name', 'age', 'gender'])

    # 写入数据列表
    data = [
        ['Tom', 15, 'Male'],
        ['Lucy', 17, 'Female'],
        ['Hanmeimei', 16, 'Female'],
        ['James', 14, 'Male']
    ]
    writer.writerows(data)

与上面的示例类似,我们现在把要写入的多行数据存储在一个列表中,然后将整个列表一次写入CSV文件,我们可以使用writer.writerows函数。需要注意的是,在使用writer.writerows函数时,我们需要将要写入的数据列表嵌套在更大的列表中(注意方括号的数量),以代表多行数据,否则会出现错误。

这里介绍的是CSV库的writer函数的一般用法,如果需要了解更多该函数的关于写入CSV文件各种用法上的细节以及高级用法,可以参阅Python标准库文档。