Pandas数据处理神器!轻松加载CSV、Excel、MySQL,数据保存也无忧!

在这里插入图片描述

1. 导包

# 导包
import numpy as np
import pandas as pd

2. CSV数据

data = np.random.randint(0,50,size=(10,5))
df = pd.DataFrame(data=data,columns=["Python","C++","Java","NumPy","Pandas"])
df
PythonC++JavaNumPyPandas
04849301616
1746253841
21724454220
315281230
41310101448
501571040
623993327
711925453
84729241442
91247254041

2.1 df.to_csv:保存到csv

# sep:分隔符,默认是逗号
# header:是否保存列索引
# index:是否保存行索引
df.to_csv("08_Pandas数据加载.csv",sep=",",header=True,index=True)

2.2 df.read_csv:加载csv数据

pd.read_csv("08_Pandas数据加载.csv",sep=",",header=[0],index_col=0)
PythonC++JavaNumPyPandas
04849301616
1746253841
21724454220
315281230
41310101448
501571040
623993327
711925453
84729241442
91247254041
# 不获取列:header=None,第一行的数据会作为内容显示
pd.read_csv("08_Pandas数据加载.csv",sep=",",header=None,index_col=0)
12345
0
NaNPythonC++JavaNumPyPandas
0.04849301616
1.0746253841
2.01724454220
3.015281230
4.01310101448
5.001571040
6.023993327
7.011925453
8.04729241442
9.01247254041

2.3 pd.read_table

# read_table:默认分隔符sep='\t'
pd.read_table("08_Pandas数据加载.csv",sep=",",index_col=0)
PythonC++JavaNumPyPandas
04849301616
1746253841
21724454220
315281230
41310101448
501571040
623993327
711925453
84729241442
91247254041

3. excel数据

data = np.random.randint(0,50,size=(10,5))
df = pd.DataFrame(data=data,columns=["Python","C++","Java","NumPy","Pandas"])
df
PythonC++JavaNumPyPandas
0173747396
161224171
23733453423
341162121
44018223648
5481714110
617390315
7230402331
820232788
914121644

3.1 df.to_excel():保存到excel文件

# sheet_name:工作表名称
# header:是否保存列索引
# index:是否保存行索引
df.to_excel("08_Pandas数据加载.xlsx",sheet_name="课程成绩",header=True,index=True)

3.2 pd.read_excel:读取excel

pd.read_excel("08_Pandas数据加载.xlsx",sheet_name="课程成绩",header=[0],index_col=0)
PythonC++JavaNumPyPandas
0173747396
161224171
23733453423
341162121
44018223648
5481714110
617390315
7230402331
820232788
914121644
pd.read_excel("08_Pandas数据加载.xlsx",sheet_name="课程成绩",header=[0,1],index_col=0)
PythonC++JavaNumPyPandas
173747396
161224171
23733453423
341162121
44018223648
5481714110
617390315
7230402331
820232788
914121644
# sheet_name=0:读取第1个工作表
pd.read_excel("08_Pandas数据加载.xlsx",sheet_name=0,header=0,index_col=0)
PythonC++JavaNumPyPandas
0173747396
161224171
23733453423
341162121
44018223648
5481714110
617390315
7230402331
820232788
914121644
# names:设置列名/替代原有的列名
pd.read_excel("08_Pandas数据加载.xlsx",header=0,index_col=0,names=list("ABCDE"))
ABCDE
0173747396
161224171
23733453423
341162121
44018223648
5481714110
617390315
7230402331
820232788
914121644

4. MySQL数据

4.1 需要安装pymysql

  • pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple
Defaulting to user installation because normal site-packages is not writeable
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting pymysql
  Downloading https://pypi.tuna.tsinghua.edu.cn/packages/e5/30/20467e39523d0cfc2b6227902d3687a16364307260c75e6a1cb4422b0c62/PyMySQL-1.1.0-py3-none-any.whl (44 kB)
     ---------------------------------------- 0.0/44.8 kB ? eta -:--:--
     --------- ------------------------------ 10.2/44.8 kB ? eta -:--:--
     --------- ------------------------------ 10.2/44.8 kB ? eta -:--:--
     --------- ------------------------------ 10.2/44.8 kB ? eta -:--:--
     -------------------------------------- 44.8/44.8 kB 200.7 kB/s eta 0:00:00
Installing collected packages: pymysql
Successfully installed pymysql-1.1.0
Note: you may need to restart the kernel to use updated packages.

4.2 需要安装sqlalchemy

  • pip install sqlalchemy -i

https://pypi.tuna.tsinghua.edu.cn/simple

  • sqlalchemy是Python语言的数据库引擎库
pip install sqlalchemy -i https://pypi.tuna.tsinghua.edu.cn/simple
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Requirement already satisfied: sqlalchemy in d:\anaconda3\lib\site-packages (1.4.39)
Requirement already satisfied: greenlet!=0.4.17 in d:\anaconda3\lib\site-packages (from sqlalchemy) (2.0.1)
Note: you may need to restart the kernel to use updated packages.
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --target=d:\anaconda3\lib\site-packages sqlalchemy
Note: you may need to restart the kernel to use updated packages.Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting sqlalchemy
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/22/80/43ddb1ddeafdcbc3073c0e7a7d45b17678eeac4830c7e91bd6556527f311/SQLAlchemy-2.0.25-cp311-cp311-win_amd64.whl (2.1 MB)
Collecting typing-extensions>=4.6.0 (from sqlalchemy)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/b7/f4/6a90020cd2d93349b442bfcb657d0dc91eee65491600b2cb1d388bc98e6b/typing_extensions-4.9.0-py3-none-any.whl (32 kB)
Collecting greenlet!=0.4.17 (from sqlalchemy)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/47/79/26d54d7d700ef65b689fc2665a40846d13e834da0486674a8d4f0f371a47/greenlet-3.0.3-cp311-cp311-win_amd64.whl (292 kB)
Installing collected packages: typing-extensions, greenlet, sqlalchemy
Successfully installed greenlet-3.0.3 sqlalchemy-2.0.25 typing-extensions-4.9.0



WARNING: Target directory d:\anaconda3\lib\site-packages\greenlet already exists. Specify --upgrade to force replacement.
WARNING: Target directory d:\anaconda3\lib\site-packages\sqlalchemy already exists. Specify --upgrade to force replacement.
WARNING: Target directory d:\anaconda3\lib\site-packages\typing_extensions.py already exists. Specify --upgrade to force replacement.
WARNING: Target directory d:\anaconda3\lib\site-packages\__pycache__ already exists. Specify --upgrade to force replacement.
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --target=d:\anaconda3\lib\site-packages sqlalchemy --upgrade
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting sqlalchemy
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/22/80/43ddb1ddeafdcbc3073c0e7a7d45b17678eeac4830c7e91bd6556527f311/SQLAlchemy-2.0.25-cp311-cp311-win_amd64.whl (2.1 MB)
Collecting typing-extensions>=4.6.0 (from sqlalchemy)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/b7/f4/6a90020cd2d93349b442bfcb657d0dc91eee65491600b2cb1d388bc98e6b/typing_extensions-4.9.0-py3-none-any.whl (32 kB)
Collecting greenlet!=0.4.17 (from sqlalchemy)
  Using cached https://pypi.tuna.tsinghua.edu.cn/packages/47/79/26d54d7d700ef65b689fc2665a40846d13e834da0486674a8d4f0f371a47/greenlet-3.0.3-cp311-cp311-win_amd64.whl (292 kB)
Installing collected packages: typing-extensions, greenlet, sqlalchemy
Successfully installed greenlet-3.0.3 sqlalchemy-2.0.25 typing-extensions-4.9.0
Note: you may need to restart the kernel to use updated packages.
from sqlalchemy import create_engine
# 创建数据
data = np.random.randint(0,150,size=(150,3))
df = pd.DataFrame(data=data,columns=["Python","Pandas","PyTorch"])
# 查看前5条数据
df.head()
PythonPandasPyTorch
08311884
178141102
211447
3104088
41406433

4.3 先连接MySQL

# mysql+pymysql:数据库类型+驱动
# root:123456:数据库用户名和密码
# localhost:3306:数据库地址和端口
# pandas:数据库名
conn = create_engine("mysql+pymysql://root:123456@localhost:3306/pandas")

4.4 df.to_sql:保存到MySQL

df.to_sql(
    name="score",   # 数据库中的名字
    con = conn,   # 数据库连接对象
    index=False,   # 是否保存行索引
    if_exists="append"   # 如果表存在,则追加数据
)
150

4.5pd.read_sql:从MySQL中加载数据

pd.read_sql(
    sql = "select * from score",   # sql语句
    con = conn   # 数据库连接对象
)
PythonPandasPyTorch
08311884
178141102
211447
3104088
41406433
............
14510013387
146255333
14757846
14897134108
1494676138

150 rows × 3 columns

pd.read_sql(
    sql = "select * from score",   # sql语句
    con = conn,   # 数据库连接对象
    index_col = "Python"   # 指定行索引的列名
)
PandasPyTorch
Python
8311884
78141102
11447
104088
1406433
.........
10013387
255333
57846
97134108
4676138

150 rows × 2 columns

  • 23
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

腾飞开源

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值