如何用 Python 解析 CSV 文件

评论: 0

数据解析的定义是自动收集和处理信息,通常用于 CSV 文件。这里的解析是指将 CSV 文件切分成行、列和值。这样,就可以毫不费力地对数据进行分析、过滤和提取,以便进一步工作。在本文中,我们将介绍如何使用 Python 来读取 CSV 文件。此外,我们还将展示如何用 Python 解析 CSV 文件中的数据。

什么是 CSV 文件?

CSV,或(逗号分隔值),是一种以逗号和换行分隔值的方式保存数据的文件格式。正因为如此,CSV 格式可用于多种场合,例如在 Excel 中创建或修改数据。

CSV 文件的一个主要优点是易于访问和共享信息。它的唯一性允许无论使用何种软件都能打开和处理该文件。因此,以电子表格或数据库的形式导出此类数据非常方便。

现在,让我们在下面的代码块中演示如何在 Python 中打开和读取 CSV。

使用 Python 解析 CSV 文件

Python 有一个内置 CSV 库,可以轻松读写数据。无需安装外部库,这使得分析内容和打开文件变得轻而易举。

下面的代码段展示了如何用 Python 打开和打印名为 university_records 的 CSV 文件。它使用读取模式打开文件,然后读取 CSV 文件,最后通过 for 循环打印数据。


import csv

with open('university_records.csv', 'r') as csv_file:
    reader = csv.reader(csv_file)

    for row in reader:
        print(row)

使用 Python 写 CSV 文件

为此,我们将使用 CSV 模块来写入数据。有一些有用的方法可以帮助您在 CSV 模块中写入信息:

  • .writer() - 作为文件创建工具;
  • .writerow() - 将数据存储在一行中。

下面的代码全面说明了该模块的方法:


import csv

row = ['David', 'MCE', '3', '7.8']

row1 = ['Monika', 'PIE', '3', '9.1']

row2 = ['Raymond', 'ECE', '2', '8.5']

with open('university_records.csv', 'a') as csv_file:
    writer = csv.writer(csv_file)

    writer.writerow(row)

    writer.writerow(row1)

    writer.writerow(row2)

使用 Pandas 库解析 CSV 文件

如今,使用 Python 解析 CSV 文件至关重要:从用于财务的电子表格到用于机器学习的庞大数据库。有时,处理这些文件非常麻烦,尤其是当您需要比 Python 开箱即用的功能更多的功能时。在这种情况下,Pandas 库就能派上用场。

下面演示了使用 DataFrame 写入数据的全部功能。DataFrame 是 Pandas 库中的主要数据结构之一,用于处理表格数据。


import pandas as pd

data = {"Name": ["David", "Monika", "Raymond"], 
        "Age": [30, 25, 40], 
        "City": ["Kyiv", "Lviv", "Odesa"]
} 

df = pd.DataFrame(data) 

file_path = "data.csv" 
df.to_csv(file_path, index=False, encoding="utf-8")



Pandas 库的主要功能

对于 Python 来说,Pandas 库被认为是解析 CSV 最有效的库之一,以下是它如此强大和方便的原因:

  1. 简单的文件上传。如果数据集来自多个来源,并且格式不一致,那么 Pandas 将证明其至高无上的魔力,因为它可以自动解析文件,而无需人工操作。
  2. 可扩展性。当标准 Python 库尝试解析大容量 CSV 文件时,它们通常会严重滞后,但使用 Pandas 时,优化工作已经完成,因为它在处理大文件时表现出色。此外,文件上传的碎片化还能防止内存超载。
  3. 处理各种进程。CSV 文件中主要存在缺失值、错误格式和重复内容。好在 Pandas 通过内置工具(如缺失数据和类型替换、字符清洗和用于高级分析的信息重组)再次证明了它的魔力。

这些功能表明,该库是快速分析 CSV 文件的最佳工具,因为与之相比,其他工具的功能有限。同时,它还能处理大量数据,因此在信息世界中非常有用。

使用 Pandas 阅读 CSV 文件

在使用 CSV 文档之前,第一步是上传它。


import pandas as pd

df = pd.read_csv("data.csv")

在处理大量数据集时,适合使用 Pandas 工具。让我们探讨一下 Python 脚本如何解析 CSV 文件。


df.head() # 显示前 5 行
df.tail(10) # 显示最后 10 行
df.info() # 输出列、数据类型和已填充值数量的列表

要选择一列或多列,请执行:


df["Name"] # 获取 "Name"列


df[["Name", "Age"]] # 仅提取"Name"和"Age"

使用 Pandas 编写 CSV 文件

现在让我们来看看如何插入、修改和删除特定行。

插入新行:


# 加载 CSV 文件
df = pd.read_csv(file_path) 

# 添加新行
new_row = pd.DataFrame([{"Name": "Denys", "Age": 35, "City": "Kharkiv"}]) df = pd.concat([df, new_row], ignore_index=True) 


# 节省
df.to_csv(file_path, index=False, encoding="utf-8")

修改特定行:


df = pd.read_csv(file_path) 

# 更改伊万的年龄
df.loc[df["Name"] == "Ivan", "Age"] = 26 

df.to_csv(file_path, index=False, encoding="utf-8")

删除一行:


df = pd.read_csv(file_path) 

# 删除 Name == "Mykhailo" 的行 
df = df[df["Name"] != "Mykhailo"] 

df.to_csv(file_path, index=False, encoding="utf-8")

结论

总之,本文展示了如何用 Python 打开和读取 CSV 文件。但是,只要用户需要更高的准确性和更强大的解释工具,Pandas 就能完美胜任。这个库可以自动处理重复性的过程,允许处理大量文件并节省时间,非常有效。因此,我们可以得出这样的结论:对于基本功能,标准 CSV 库可以满足要求,而 Pandas 则可以处理大量的信息数据。

评论:

0 评论