📜  python csv阅读器 - Python(1)

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

Python CSV阅读器

CSV(Comma-Separated Values)是一种常见的电子表格文件格式,在其中逗号分隔各列数据。Python提供了许多内置函数和第三方库,使得CSV文件的操作变得非常容易。在本文中,我们将介绍如何使用Python读取CSV文件。

使用Python CSV模块读取CSV文件

Python内置了 csv 模块,可以帮助我们读取、处理和写入CSV文件。以下是如何使用 csv 模块读取CSV文件的基本示例:

import csv

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

以上代码将打开名为 data.csv 的文件。 csv.reader 函数将会生成一个可迭代的对象,其中每个元素代表CSV文件的一行。通过 for 循环可以遍历每一行数据并输出。

读取CSV文件的特定行和列

csv.reader 函数提供了一个参数 delimiter,用于指定分隔符。例如,假设我们的CSV文件使用 | 作为分隔符,可以这样做:

import csv

with open('data.csv') as csvfile:
    reader = csv.reader(csvfile, delimiter='|')
    for row in reader:
        print(row)

有时候我们只需要读取CSV文件的特定行和列,可以在读取文件前先将文件的所有行读取到一个列表中,然后再操作这个列表。例如,以下代码将只打印CSV文件的第2行、第4列:

import csv

with open('data.csv') as csvfile:
    data = [row for row in csv.reader(csvfile)]
    print(data[1][3])
读取CSV文件的标题行数据

如果CSV文件的第一行是标题行,我们可以使用 csv.DictReader 函数将每一行数据转换成字典格式,其中字典的键为标题行的标题,值为该行对应标题的数据:

import csv

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

以上代码将输出CSV文件的所有行数据,其中第一行作为字典的键。

使用Pandas库读取CSV文件

Pandas是Python的一个强大的数据处理库,它可以帮助我们轻松地读取、处理和写入CSV文件。以下是如何使用Pandas读取CSV文件的示例:

import pandas as pd

data = pd.read_csv('data.csv')
print(data)

以上代码将打印CSV文件中的所有数据。 Pandas还提供了许多实用函数,使得数据的处理变得非常简单。例如,以下代码将查找CSV文件中的行中“Name”列包含“John”的所有数据:

import pandas as pd

data = pd.read_csv('data.csv')
result = data.loc[data['Name'] == 'John']
print(result)
读取不规则CSV文件

如果CSV文件包含不规则的数据,例如某些列数据缺失,可以使用Pandas的 read_csv 函数提供的一些参数来处理它。例如,以下代码读取一个不规则的CSV文件,并使用 na_values 参数将缺失的数据标记为 NaN

import pandas as pd

data = pd.read_csv('data.csv', na_values=[''])
print(data)

以上代码将忽略CSV文件中的缺失数据并将其标记为 NaN

结论

CSV文件是一种常见的电子表格文件格式,Python提供了许多内置函数和第三方库,使其操作变得非常容易。使用Python CSV模块和Pandas库,我们可以轻松地读取、处理和写入CSV文件。在使用它们时,我们需要了解CSV文件的结构并根据需要选择适当的方法。