CSV文件与Python(基础)

文章目录

      • 1 CSV文件简介
      • 2 CSV与Python
        • 2.1 读取CSV文件
        • 2.2 写入CSV文件

1 CSV文件简介

CSV文件是一种常见的文本文件格式,全称为Comma-Separated Values(逗号分隔值)。它被广泛用于存储表格数据,如电子表格和数据库中的数据。

CSV文件的结构非常简单,每行表示数据中的一行,每个字段之间使用特定的分隔符(通常是逗号)进行分隔。每行的字段数量应相同,以便正确解析数据。通常,第一行是字段名,用于标识每个字段的含义。

以下是一个示例CSV文件(data.csv,下文会用到)的内容:

Name,Age,Email
John,25,[email protected]
Emma,32,[email protected]

在上面的示例中,第一行指定了三个字段的名称:Name、Age和Email。接下来的两行分别是具体的数据行,每个字段由逗号进行分隔。

CSV文件的优点是它的简单性和易读性。它可以被多个应用程序和编程语言轻松解析和处理。Python提供了许多库(如csv模块)来读取和写入CSV文件,能够轻松地处理和操作其中的数据。

2 CSV与Python

在Python中,使用csv模块来读取和写入CSV文件。下面是一些基本的CSV文件操作示例:

2.1 读取CSV文件

import csv

with open('data.csv', 'r') as file:
    reader = csv.reader(file)
    for row in reader:
        print(row)
        
"""终端输出结果:
['Name', 'Age', 'Email']
['John', '25', '[email protected]']
['Emma', '32', '[email protected]']
"""

上述代码将打开名为"data.csv"的CSV文件,并使用csv.reader函数创建一个阅读器对象。然后,通过循环迭代阅读器对象,逐行读取CSV文件的内容并进行处理。

如果CSV文件的第一行是标题行,可以使用next()函数跳过标题行,然后处理数据行:

import csv

with open('data.csv', 'r') as file:
    reader = csv.reader(file)
    headers = next(reader)  # 跳过标题行
    print(f"headers:{headers}\n--------------------------------")
    for row in reader:
        print(row)
        
"""终端输出结果:
headers:['Name', 'Age', 'Email']
--------------------------------
['John', '25', '[email protected]']
['Emma', '32', '[email protected]']
"""

2.2 写入CSV文件

import csv

data2 = [
    ['Name', 'Age', 'Email'],
    ['Jobs', '20', '[email protected]'],
    ['cook', '35', '[email protected]']
]

with open('data2.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(data2)

上述代码将创建一个名为"data2.csv"的CSV文件,并使用csv.writer函数创建一个写入器对象。然后,使用writerows()方法将数据写入CSV文件。

注意,在打开文件时,我们将newline=''传递给open()函数,这是为了避免在Windows系统上出现额外的空行。

这只是基本的CSV文件操作示例。csv模块还提供了其他功能,如指定自定义分隔符、处理包含引号的字段等。感兴趣请根据具体需求查阅Python的csv模块文档以获取更多详细信息。

你可能感兴趣的:(python,python)