📜  csv操作python(1)

📅  最后修改于: 2023-12-03 15:14:23.745000             🧑  作者: Mango

CSV操作Python

CSV(Comma Separated Values)即逗号分隔值文件,是一种常见的数据存储格式。Python有一个内置的csv模块,可以方便地对CSV文件进行读写操作。本文将介绍如何使用Python中的csv模块进行CSV文件的读写操作。

读取CSV文件

读取CSV文件需要使用csv模块中的reader()函数。reader()函数返回一个可以迭代的对象,每次迭代都会返回一个由CSV文件中一行数据组成的列表。以下是一个简单的例子:

import csv

with open('data.csv') as csv_file:
    csv_reader = csv.reader(csv_file)
    for row in csv_reader:
        print(row)

以上代码会打印出CSV文件中每一行的内容。

需要注意的是,当CSV文件中存在字符串包含逗号时,reader()函数默认会将该字符串拆分成多个列表元素。如果要避免这种情况,可以将该字符串用引号括起来。

写入CSV文件

写入CSV文件需要使用csv模块中的writer()函数。writer()函数接收一个可写的文件对象,并返回一个CSV写入器对象。可以使用CSV写入器对象中的writerow()函数向CSV文件中写入一行数据。以下是一个简单的例子:

import csv

data = [['name', 'age'], ['Alice', 25], ['Bob', 30], ['Charlie', 35]]

with open('data.csv', mode='w', newline='') as csv_file:
    csv_writer = csv.writer(csv_file)
    for row in data:
        csv_writer.writerow(row)

以上代码将一个二维列表写入CSV文件中。

需要注意的是,当CSV文件中存在字符串包含引号、逗号或换行符时,需要将该字符串用双引号括起来,并在双引号前加一个引号。例如,下面的数据:

data = [['name', 'description'], ['Alice', 'She said "hello"'], ['Bob', 'He said, "I like it!"']]

写入CSV文件中后的格式为:

name,description
Alice,"She said ""hello"""
Bob,"He said, ""I like it!"""
更多内容

以上只是CSV操作的基本用法,csv模块还提供了许多其他函数和选项,例如:

  • delimiter选项:指定CSV中的分隔符(默认为逗号)
  • quotechar选项:指定用于括起字符串的引号字符(默认为双引号)
  • quoting选项:指定对字符串进行引号转义的方式(例如只对包含特殊字符的字符串进行引号括起来)
  • DictReader和DictWriter函数:用于读取和写入字典类型的CSV文件

有关这些更高级的用法,可以参考Python文档进行学习。