当前位置:   article > 正文

CSV文件与Python(基础)_python中csv文件

python中csv文件

1 CSV文件简介

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

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

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

Name,Age,Email
John,25,john@example.com
Emma,32,emma@example.com
  • 1
  • 2
  • 3

在上面的示例中,第一行指定了三个字段的名称: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', 'john@example.com']
['Emma', '32', 'emma@example.com']
"""
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

上述代码将打开名为"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', 'john@example.com']
['Emma', '32', 'emma@example.com']
"""
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
2.2 写入CSV文件
import csv

data2 = [
    ['Name', 'Age', 'Email'],
    ['Jobs', '20', 'jobs@example.com'],
    ['cook', '35', 'cook@example.com']
]

with open('data2.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    writer.writerows(data2)
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

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

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

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/536559
推荐阅读
相关标签
  

闽ICP备14008679号