如何在 Python 中使用 CSV 文件进行读写?

在这里插入图片描述
如何在 Python 中使用 CSV 文件进行读写?

一、说明

CSV 是您在数据科学领域工作时经常遇到的一种文件格式。它是一种存储表格数据的文本文件,具有更好的可读性、更易于理解和更快的处理速度。CSV 文件可以从 JSON 文件转换,也可以使用 Python 或 Java 创建。

在本文中,我们将向您介绍 CSV 文件的基础知识,并引导您了解在 Python 中读取和写入 CSV 文件的不同方法。我们专注于 Python,因为它有一个内置的 csv 库,可以轻松地从 CSV 文件中读取数据并写入其中。本文中的分步 Python 教程涵盖了如何在 Python 中读取和写入 CSV 文件,即使对于初学者来说,也一定简单易懂。此外,我们将解释如何解析数据,使用不同的数据类型和数据结构,以及使用 Python 3 中的 Pandas 和 NumPy 等库来处理 CSV 文件。

学习成果
从根本上了解什么是 CSV 文件以及它们在数据科学中的重要性。
掌握如何使用 Python 内置的 csv 库读取和写入 CSV 文件,包括实际示例。
了解如何利用 pandas 库读取和写入 CSV 文件,通过 DataFrames 和 pandas.read_csv 函数增强您的数据操作技能。
探索在 Python 中读取 CSV 文件的各种方法,例如使用 csv.reader、.readlines()、csv。DictReader 和 pd.read_csv.
了解使用 csv.writer、csv 将数据写入 CSV 文件的多种方法。DictWriter、.writelines() 和 pandas,确保您可以有效地处理数据导出任务。
培养从 CSV 文件中解析数据、使用不同数据结构以及了解 Python 编程上下文中的数据类型的技能。
了解如何将 NumPy 等库与 CSV 文件处理集成,以便在 Python 3 中执行更高级的数据处理任务。
本文是作为数据科学博客马拉松的一部分发表的。

二、什么是 CSV?

了解如何在 Python 中读取 CSV 文件对于任何数据科学家来说都是必不可少的。CSV 代表“逗号分隔值”,是将表格数据存储为纯文本的基本格式。作为数据科学家,我们在日常工作流程中经常会遇到 CSV 数据。因此,掌握在 Python 中读取 CSV 文件的能力对于有效处理和分析数据集至关重要。

Python 中 CSV 的结构
我们有一个名为“Salary_Data.csv”的文件。CSV 文件的第一行是标题。它包含字段/要素的名称,这些字段/要素在文件顶部显示为列名。

在标题之后,文件的每一行都是一个观察点/记录。记录的值用“逗号”分隔。
在这里插入图片描述

Python 中 CSV 的结构
在 Python 中读取 csv 文件
在 Python 中读取 CSV 文件主要有两种方法:

使用 csv 模块: 这是用于在 Python 中处理 CSV 文件的内置模块。它提供了读取和写入 CSV 数据的基本功能。
下面是如何使用 csv.reader 读取 CSV 文件的示例:

import csv

# Open the CSV file in read mode
with open('data.csv', 'r') as csvfile:
  # Create a reader object
  csv_reader = csv.reader(csvfile)
  
  # Iterate through the rows in the CSV file
  for row in csv_reader:
    # Access each element in the row
    print(row)

使用 Pandas 库:Pandas 是一个强大的 Python 数据分析库。它提供了一种更方便的方式来读取和操作 CSV 数据。
下面是如何使用 Pandas 读取 CSV 文件的示例:

import pandas as pd

# Read the CSV file into a DataFrame
df = pd.read_csv('data.csv')

# Access data in the DataFrame using column names or indexing
print(df['column_name'])
print(df.iloc[0])  # Access first row

在 Python 中读取 CSV 文件的方法列表
使用 csv.reader 读取 CSV 文件
使用 .readlines() 函数读取 CSV 文件
使用 Pandas 读取 CSV 文件
使用 csv 读取 CSV 文件。DictReader的
如何使用程序步骤在 Python 中读取 CSV 文件?
有许多不同的方法可以读取 CSV 文件中的数据,我们现在将一一看到。

三、使用 csv.reader 在 Python 中读取 CSV 文件的步骤

您可以使用 Python 的 csv 模块中的 csv.reader 对象读取 CSV 文件。使用 csv 阅读器读取 CSV 文件的步骤:

1 导入 CSV 库
import csv

2 打开 CSV 文件
这。Python 中的 open() 方法用于打开文件并返回 File 对象。

文件类型为“_io.TextIOWrapper“,这是由 open() 方法返回的文件对象。file = open(‘Salary_Data.csv’) type(file)

3 使用 csv.reader 对象读取 CSV 文件
csvreader = csv.reader(文件)

4 提取字段名称
创建一个称为标头的空列表。使用 next() 方法获取标头。
.next() 方法返回当前行并移动到下一行。
第一次运行 next() 时,它会返回标头,下次运行时,它会返回第一条记录,依此类推。

header = []
header = next(csvreader)
header

CSV 标头中的字段名称 [python read csv]

5 提取行/记录
创建一个名为 rows 的空列表,循环访问 csvreader 对象,并将每一行追加到行列表中。

rows = []
for row in csvreader:
rows.append(row)
rows

在这里插入图片描述

csv 中的行/记录 [python 读取 csv]

6 关闭文件
.close() 方法用于关闭打开的文件。一旦关闭,我们就无法对其执行任何操作。

file.close()

读取 CSV Python 的完整代码

import csv
file = open("Salary_Data.csv")
csvreader = csv.reader(file)
header = next(csvreader)
print(header)
rows = []
for row in csvreader:
    rows.append(row)
print(rows)
file.close()

当然,我们可能会忘记关闭打开的文件。为了避免这种情况,我们可以使用 with() 语句来自动释放资源。简单来说,如果我们使用 with() 语句,则无需调用 .close() 方法。

四、使用 with() 语句实现代码

基本语法:使用 open(filename, mode) 作为alias_filename:

模式:

‘r’ – 读取现有文件,
‘w’ – 如果给定文件不存在,则创建一个新文件并写入该文件,
‘a’ – 附加到现有文件内容,
‘+’ – 创建一个用于读取和写入的新文件

import csv
rows = []
with open("Salary_Data.csv", 'r') as file:
    csvreader = csv.reader(file)
    header = next(csvreader)
    for row in csvreader:
        rows.append(row)
print(header)
print(rows)

CSV python 文件 [python read csv]
另请参阅: 数据科学创新的演变和未来

五、如何使用 .readlines() 在 Python 中读取 CSV 文件?

现在的问题是——“是否可以仅使用 open() 和 with() 语句而不使用 csv 库来获取标题和行?我看看。。。

.readlines() 方法就是答案。它以列表的形式返回文件中的所有行。列表中的每个项目都是 CSV 文件的一行。

file.readlines() 的第一行是标题,其余是记录。

with open('Salary_Data.csv') as file:
    content = file.readlines()
header = content[:1]
rows = content[1:]
print(header)
print(rows)

使用 .readlines() 的 CSV 文件 [python 读取 csv]
**可以使用 .strip() 方法删除输出中的“n”。

如果我们有一个包含数百个特征和数千条记录的庞大数据集,会怎么样?是否可以处理列表??

熊猫图书馆来了。

六、如何使用 Pandas 在 python 中读取 CSV 文件?

让我们来看看如何使用 pandas 读取 CSV 文件中的数据。

Step1: 导入 pandas 库
import pandas as pd
Step2:使用 read_csv() 将 CSV 文件加载到 pandas
基本语法: pandas.read_csv(filename, delimiter=‘,’)

data= pd.read_csv(“Salary_Data.csv”)
data
在这里插入图片描述

csv 文件 python pandas [python read csv]
Step3:提取字段名称
.columns 用于获取标题/字段名称。

data.columns
csv python pandas 中的 .columns [python 读取 csv]
Step4:提取行
可以使用字段名称访问数据框的所有数据。

data.Salary
在这里插入图片描述

使用 csv 在 Python 中读取 CSV 文件。DictReader的
如何在 Python 中读取 CSV 文件中的字典就像一个哈希表,包含键和值。要创建字典,请使用具有指定键和值的 dict() 方法。如果您在 Python 中使用 CSV 文件,则 csv 模块的 .DictReader 在阅读它们时派上用场。以下是有关如何使用 Python 读取 CSV 文件的简单指南

Step1: 导入csv模块
import csv
Step2:使用 .open() 函数打开 CSV 文件,模式设置为“r”进行读取。
with open(‘Salary_Data.csv’, ‘r’) as csvfile:
步骤3:使用csv创建DictReader对象。DictReader() 方法。
reader = csv.DictReader(csvfile)
Step4:使用 csv。DictReader 对象来读取 CSV 文件。
使用“for”循环和 DictReader 对象循环访问 CSV 文件的行,以查看作为键的字段名称及其各自的值。

for row in reader:
print(row)
在python中编写CSV文件的方法列表
使用 csv.writer 编写 CSV 文件
使用 writelines() 函数编写 CSV 文件
使用 Pandas 编写 CSV 文件
使用 csv 编写 CSV 文件。DictWriter 的
如何写入 Python CSV?
我们可以通过多种方式写入 CSV 文件。

七、使用 csv.writer 编写 CSV 文件

csv.writer() 函数返回一个 writer 对象,该对象将输入数据转换为分隔字符串。
例如,假设我们正在记录 3 名学生的数据(姓名、M1 分数、M2 分数)

header = [‘Name’, ‘M1 Score’, ‘M2 Score’]
data = [[‘Alex’, 62, 80], [‘Brad’, 45, 56], [‘Joey’, 85, 98]]
现在让我们看看如何使用 csv.writer 将这些数据写入 CSV 文件:

Step1:导入csv库。

import csv
Step2:定义文件名并使用 open() 打开文件。
Step3: 使用 csv.writer() 创建一个 csvwriter 对象。
Step4:写标题。
Step5:写入其余数据。

步骤 2-5 的代码

filename = 'Students_Data.csv'
with open(filename, 'w', newline="") as file:
    csvwriter = csv.writer(file) # 2. create a csvwriter object
    csvwriter.writerow(header) # 4. write the header
    csvwriter.writerows(data) # 5. write the rest of the data

以下是我们的 CSV 文件的外观。
在这里插入图片描述

使用 .writelines() 写入 CSV 文件
.writelines() 遍历每个列表,将列表元素转换为字符串,然后将其写入 csv 文件。

header = ['Name', 'M1 Score', 'M2 Score']
data = [['Alex', 62, 80], ['Brad', 45, 56], ['Joey', 85, 98]]
filename = 'Student_scores.csv'
with open(filename, 'w') as file:
    for header in header:
        file.write(str(header)+', ')
    file.write('n')
    for row in data:
        for x in row:
            file.write(str(x)+', ')
        file.write('n')

在这里插入图片描述

使用 Pandas 编写 CSV
按照以下步骤使用 pandas 写入 CSV 文件:

Step1: 导入 pandas 库
import pandas as pd
Step2:使用 pd 创建 pandas 数据帧。数据帧
语法: pd.DataFrame(数据、列)

data 参数采用记录/观测值,columns 参数采用列/字段名称。

header = [‘Name’, ‘M1 Score’, ‘M2 Score’]
data = [[‘Alex’, 62, 80], [‘Brad’, 45, 56], [‘Joey’, 85, 98]]
data = pd.DataFrame(data, columns=header)
Step3:使用 to_csv() 写入 CSV 文件
语法:DataFrame.to_csv(filename, sep=‘,’, index=False)

默认情况下,分隔符为 ‘,’ 。

index=False 删除索引号。

data.to_csv(‘Stu_data.csv’, index=False)
以下是我们的 CSV 的样子
在这里插入图片描述

使用 pandas 编写 csv [python read csv]

八、使用 csv 编写 CSV 文件。DictWriter 的

您可以使用 csv 模块将数据写入 CSV 文件。DictReader 按照以下步骤操作。

Step1: 导入csv模块
import csv
Step2: 使用 .open() 函数,创建一个模式为“w”的新文件对象,用于写入
使用该函数创建一个新的文件对象,指定文件名,并将写入模式设置为“w”。open()

with open(‘Students_Data.csv’, ‘w’, newline=‘’) as csvfile:
Step3:输入要写入CSV文件的数据作为字典列表
data = [{‘Name’: ‘Alex’, ‘M1 Score’: 62, ‘M2 Score’: 80},
{‘Name’: ‘Brad’, ‘M1 Score’: 45, ‘M2 Score’: 56},
{‘Name’: ‘Joey’, ‘M1 Score’: 85, ‘M2 Score’: 98}]
Step4:创建csv。DictWriter 对象,指定文件对象、字段名参数和分隔符
请注意,默认情况下分隔符为“,’

fieldnames = [‘Name’, ‘M1 Score’, ‘M2 Score’] writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
Step5:使用 writeheader() 方法编写标题行。
writer.writeheader()
Step6:使用 writerows() 方法将数据写入 CSV 文件
writer.writerows(data)
这将创建一个名为“Students_Data.csv”的新文件,其中 Name、M1 Score 和 M2 Score 作为标题/列名称以及数据变量下的数据值。

九、结论

到现在为止,我相信你们都熟悉在 Python 中处理 CSV 文件的各种技术,包括 Python 读取 CSV 文件的基本过程。我们相信这篇文章对所有人都很有用。随时与您的学习伙伴分享,以传播知识并提高每个人的 Python 技能。

知道如何在 Python 中读取和写入 CSV 文件是任何数据科学家或分析师的基本技能。它可以节省时间,提高生产力,并使数据处理更加高效。无论您是刚刚起步还是希望将您的技能提升到一个新的水平,我们的数据科学黑带计划都是增强您在数据科学方面知识的绝佳资源。该计划涵盖了 Python 编程的基础知识到高级机器学习概念。通过实践项目和案例研究,您将获得实践经验并学习如何将您的技能应用于现实世界的问题。

关键要点
创建逗号分隔值 (CSV) 文件是将复杂数据转换为可读文本文件的最简单方法。
CSV 格式的文件显示类似于 Excel 工作表的组织表格数据。
您可以在 Python 中使用 csv.reader、.readlines() 或 csv 读取 CSV 文件。DictReader,并使用 .writer 写入一个 .DictWriter 或 .writelines()。
Pandas 可用于在 CSV 中读取和写入数据。

相关推荐

  1. PythonKafka队列

    2024-07-18 15:54:04       43 阅读
  2. Rust csv文件

    2024-07-18 15:54:04       41 阅读
  3. python文件

    2024-07-18 15:54:04       38 阅读
  4. Python文件

    2024-07-18 15:54:04       33 阅读
  5. Python 文件

    2024-07-18 15:54:04       22 阅读
  6. Python--文件

    2024-07-18 15:54:04       23 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-18 15:54:04       70 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-18 15:54:04       74 阅读
  3. 在Django里面运行非项目文件

    2024-07-18 15:54:04       62 阅读
  4. Python语言-面向对象

    2024-07-18 15:54:04       72 阅读

热门阅读

  1. 通过C++对象模型优化C++程序

    2024-07-18 15:54:04       23 阅读
  2. 怎么理解redis持久化?

    2024-07-18 15:54:04       19 阅读
  3. 力扣第十六题——最接近的三数之和

    2024-07-18 15:54:04       23 阅读
  4. 【Android】基础—常用控件、Intent

    2024-07-18 15:54:04       20 阅读
  5. C#中错误与异常处理

    2024-07-18 15:54:04       23 阅读
  6. zookeeper内部原理 (进阶介绍 三)

    2024-07-18 15:54:04       19 阅读
  7. Leetcode 14. 最长公共前缀

    2024-07-18 15:54:04       26 阅读
  8. Linux常用命令(简要总结)

    2024-07-18 15:54:04       20 阅读
  9. 《人生苦短,我用python·十》python的异常使用

    2024-07-18 15:54:04       21 阅读
  10. python open 文件名过长报错No such file or directory

    2024-07-18 15:54:04       17 阅读