数据读取与写入:Pandas数据处理入门
学习目标
本课程将带领学员掌握使用Pandas库读取和写入不同格式数据文件的基本方法,包括CSV、Excel文件以及SQL数据库。通过本课程的学习,学员将能够独立完成数据的导入、处理和导出,为后续的数据分析和处理打下坚实的基础。
相关知识点
- 使用Pandas进行数据读取与写入
学习内容
1 使用Pandas进行数据读取与写入
1.1 使用Pandas读取CSV文件
Pandas是一个强大的Python数据处理库,广泛应用于数据科学领域。其中,pandas.read_csv()函数是读取CSV文件最常用的方法。CSV(Comma-Separated Values)文件是一种常见的数据存储格式,使用逗号分隔每列数据,非常适合存储表格数据。
1.1.1 基本用法
read_csv()函数的基本用法非常简单,只需要提供文件路径即可。例如,假设我们有一个名为data.csv的文件,可以使用以下代码读取:
!wget https://model-community-picture.obs.cn-north-4.myhuaweicloud.com/ascend-zone/notebook_datasets/ca5b01302c0311f0b13efa163edcddae/practice_file.zip
!unzip practice_file.zip
import pandas as pd
# 读取CSV文件
data = pd.read_csv('data.csv')
# 显示前5行数据
print(data.head())
##### 1.1.2 参数详解
`read_csv()`函数提供了许多参数,用于处理不同格式的CSV文件。以下是一些常用的参数:
- `sep`:指定分隔符,默认为逗号(`,`)。
- `header`:指定哪一行作为列名,默认为0(第一行)。
- `index_col`:指定哪一列作为索引列。
- `usecols`:指定读取哪些列。
- `dtype`:指定每列的数据类型。
- `na_values`:指定哪些值应被视为缺失值。
例如,如果CSV文件使用分号(`;`)作为分隔符,并且没有列名,可以这样读取:
data = pd.read_csv('data.csv', sep=';', header=None)
print(data)
1.1.3 处理大文件
对于非常大的CSV文件,一次性读取可能会导致内存不足。Pandas提供了chunksize参数,可以分块读取文件。例如,每次读取1000行:
chunksize = 1000
chunks = []
for chunk in pd.read_csv('practice_data.csv', chunksize=chunksize):
# 对每个chunk进行处理
chunks.append(chunk)
# 合并所有chunk
data = pd.concat(chunks)
print(data.head())
1.2 使用Pandas读取Excel文件
Excel文件是另一种常见的数据存储格式,Pandas提供了pandas.read_excel()函数来读取Excel文件。Excel文件可以包含多个工作表,每个工作表可以视为一个独立的DataFrame。
1.2.1 基本用法
read_excel()函数的基本用法也非常简单,只需要提供文件路径即可。例如,假设我们有一个名为data.xlsx的文件,可以使用以下代码读取:
%pip install openpyxl
# 读取Excel文件
data = pd.read_excel('data.xlsx')
# 显示前5行数据
print(data.head())
1.2.2 读取特定工作表
如果Excel文件包含多个工作表,可以使用sheet_name参数指定读取哪个工作表。例如,读取名为Sheet2的工作表:
data = pd.read_excel('multi_sheet_data.xlsx', sheet_name='Sheet2')
print(data.head())
1.2.3 读取多个工作表
如果需要读取多个工作表,可以将sheet_name参数设置为一个列表。例如,读取名为Sheet1和Sheet2的工作表:
data = pd.read_excel('multi_sheet_data.xlsx', sheet_name=['Sheet1', 'Sheet2'])
print(data)
1.3 使用Pandas与SQL数据库交互
Pandas提供了pandas.read_sql()和pandas.to_sql()函数,用于从SQL数据库读取数据和将数据写入SQL数据库。这些函数需要与SQLAlchemy库配合使用,以支持多种数据库类型。
1.3.1 读取SQL数据库
首先,需要安装SQLAlchemy库:
%pip install sqlalchemy
然后,可以使用read_sql()函数从数据库读取数据。例如,假设我们有一个SQLite数据库,可以使用以下代码读取:
import pandas as pd
from sqlalchemy import create_engine
# 创建数据库连接
engine = create_engine('sqlite:///example.db')
# 读取数据
data = pd.read_sql('SELECT * FROM table_name', engine)
# 显示前5行数据
print(data.head())
1.3.2 写入SQL数据库
使用to_sql()函数可以将DataFrame写入SQL数据库。例如,将一个DataFrame写入SQLite数据库:
# 创建数据库连接
engine = create_engine('sqlite:///example.db')
# 将DataFrame写入数据库
data.to_sql('table_name', engine, if_exists='replace', index=False)
1.3.3 参数详解
to_sql()函数提供了许多参数,用于控制数据写入的行为。以下是一些常用的参数:
name:指定表名。con:数据库连接对象。if_exists:指定如果表已存在时的行为,可选值为'fail'(默认,抛出错误)、'replace'(删除旧表并创建新表)和'append'(追加数据)。index:指定是否将DataFrame的索引写入数据库。
通过本课程的学习,学员将能够熟练掌握使用Pandas读取和写入不同格式数据文件的方法,为后续的数据分析和处理打下坚实的基础。
2221

被折叠的 条评论
为什么被折叠?



