📜  Python数据持久性-CSV模块(1)

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

Python数据持久性-CSV模块

在Python中,我们常常需要将数据存储下来以便以后使用。CSV是一种流行的数据存储格式。CSV文件是以逗号分隔的值(Comma-Separated Values)文件,这意味着数据项之间用逗号分隔,每行的数据表示一个记录。Python中的CSV模块提供了对CSV文件进行读写的支持。

如何读取CSV文件

CSV模块提供了一个方便的方法,用于读取CSV文件中的数据。以下是一个简单的例子,展示了如何读取CSV文件并输出其内容:

import csv

with open('example.csv') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        print(row)

在上面的代码中,我们首先导入了CSV模块,然后使用open()方法打开了一个名为example.csv的文件。接着,我们使用reader()方法将文件内容读入到一个迭代器中,然后在一个循环中,每次读取一个行数据并将其打印出来。

如何写入CSV文件

写入CSV文件也很容易,只需要定义一些数据,然后使用CSV模块提供的方法将其写入文件中。以下是一个例子,展示了如何写入一个CSV文件:

import csv

data = [
    ['Name', 'Age', 'Gender'],
    ['Tom', '24', 'Male'],
    ['Lucy', '25', 'Female'],
    ['John', '23', 'Male']
]

with open('example.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerows(data)

在上面的代码中,我们创建了一个数据列表data,其中包含了表格的列和行数据。然后,我们使用open()方法打开名为example.csv的文件,并用writer()方法创建一个CSV写入器。最后,我们使用writerows()方法将数据写入到文件中。

需要注意的是,我们在打开文件时使用了newline='',这是因为在Windows系统上,打开文件时需要使用newline=''参数,这可以避免在每行的末尾添加一个额外的空行。

CSV模块的其他方法

除了上述两个常用的方法之外,CSV模块还提供了许多其他方法,用于对CSV文件进行读写操作,例如:

  • csv.DictReader():创建一个可以将CSV文件读入到字典的迭代器。
  • csv.DictWriter():创建一个可以将字典写入到CSV文件中的写入器。
  • csv.register_dialect():注册一个新的方言(dialect),以便为不同的CSV文件定制特定的解析和写入规则。
  • csv.get_dialect():获取指定方言的属性。

更多的函数和属性可以在Python官方文档中找到。

总结

通过CSV模块,Python提供了一种可靠的方法,用于从CSV文件中读取数据或将数据写入到CSV文件中。在开始使用CSV模块之前,你需要了解CSV文件的基本结构,并熟练使用CSV模块的读写方法和相关的参数。