📜  csv 到 python (1)

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

CSV 到 Python

CSV(逗号分隔值)是一种常见的文件格式,用于从一个程序或系统中导出数据并向另一个程序或系统传递数据。与 Excel 和其他电子表格软件一样,CSV 文件可以包含行和列,每行代表数据的不同记录,每列代表记录的不同属性或字段。在 Python 中,可以使用内置的 CSV 模块轻松读取和写入 CSV 文件。

读取 CSV 文件

要读取 CSV 文件,可以使用 csv.reader 函数。该函数接受一个打开的文件对象,并返回一个可迭代的 CSV 行对象。以下是一个示例 CSV 文件:

Name,Age,Email
John,25,john@example.com
Jane,30,jane@example.com
Bob,20,bob@example.com

以下代码演示如何读取并打印上述 CSV 文件:

import csv

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

输出:

['Name', 'Age', 'Email']
['John', '25', 'john@example.com']
['Jane', '30', 'jane@example.com']
['Bob', '20', 'bob@example.com']

注意:newline='' 参数用于解决 Windows 中文本文件行结束符 \r\n 引起的读取问题。

写入 CSV 文件

要写入 CSV 文件,可以使用 csv.writer 函数。类似于读取,该函数也需要一个打开的文件对象。以下是一个示例:

import csv

data = [
    ['Name', 'Age', 'Email'],
    ['John', '25', 'john@example.com'],
    ['Jane', '30', 'jane@example.com'],
    ['Bob', '20', 'bob@example.com']
]

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

以上代码将把 data 列表写入到一个名为 example.csv 的 CSV 文件中。

其他操作

除了基本的读取和写入操作,csv 模块还提供了其他有用的功能,例如:

  • 支持自定义分隔符和引号字符。
  • 可以处理包含嵌套字段和行尾注释的复杂 CSV 文件。
  • 支持将 CSV 数据读取到命名元组或字典中,方便处理数据。
  • 支持从 Pandas 数据帧读取和写入 CSV 文件。

详细信息请参阅 csv 模块文档

总结

csv 模块是 Python 中读取和写入 CSV 文件的标准方式。使用 csv.reader 和 csv.writer 函数,可以轻松地读取和写入简单的 CSV 数据。还可以通过自定义分隔符、使用命名元组和字典等方式,灵活处理那些复杂的 CSV 数据。