CC00040.python——|Hadoop&Python.v04|——|Arithmetic.v04|Pandas数据分析库:Pandas数据输入输出|

这篇博客介绍了Python中对数据进行读写操作的各种方式,包括CSV文件的处理,使用pandas库与Excel文件的交互,如何连接SQL数据库并存储数据,以及利用HDF5格式存储大规模数据。通过示例代码展示了如何保存和加载数据,为数据处理提供了实用的方法。
摘要由CSDN通过智能技术生成
一、数据输⼊与输出:csv
### --- csv

import numpy as np
import pandas as pd
df = DataFrame(data = np.random.randint(0,50,size = [50,5]),            # 薪资情况
               columns=['IT','化⼯','⽣物','教师','⼠兵'])
# 保存到当前路径下,⽂件命名是:salary.csv。csv逗号分割值⽂件格式
df.to_csv('./salary.csv',
          sep = ';',                                                    # ⽂本分隔符,默认是逗号
          header = True,                                                # 是否保存列索引
          index = True)                                                 # 是否保存⾏索引,保存⾏索引,⽂件被加载时,默认⾏索引会作为⼀列
# 加载
pd.read_csv('./salary.csv',
            sep = ';',                                                  # 默认是逗号
            header = [0],                                               # 指定列索引
            index_col=0)                                                # 指定⾏索引
pd.read_table('./salary.csv',                                           # 和read_csv类似,读取限定分隔符的⽂本⽂件
              sep = ';',
              header = [0],                                             # 指定列索引
              index_col=1)                                              # 指定⾏索引,IT作为⾏索引
二、Excel
### --- Excel
~~~     # pip install xlrd -i https://pypi.tuna.tsinghua.edu.cn/simple
~~~     # pip install xlwt -i https://pypi.tuna.tsinghua.edu.cn/simple

import numpy as np
import pandas as pd
df1 = pd.DataFrame(data = np.random.randint(0,50,size = [50,5]),        # 薪资情况
                   columns=['IT','化⼯','⽣物','教师','⼠兵'])
df2 = pd.DataFrame(data = np.random.randint(0,50,size = [150,3]),       # 计算机科⽬的考试成绩
columns=['Python','Tensorflow','Keras'])
# 保存到当前路径下,⽂件命名是:salary.xls
df1.to_excel('./salary.xls',
             sheet_name = 'salary',                                     # Excel中⼯作表的名字
             header = True,                                             # 是否保存列索引
             index = False)                                             # 是否保存⾏索引,保存⾏索引
pd.read_excel('./salary.xls',
              sheet_name=0,                                             # 读取哪⼀个Excel中⼯作表,默认第⼀个
              header = 0,                                               # 使⽤第⼀⾏数据作为列索引
              names = list('ABCDE'),                                    # 替换⾏索引
              index_col=1)                                              # 指定⾏索引,B作为⾏索引
# ⼀个Excel⽂件中保存多个⼯作表
with pd.ExcelWriter('./data.xlsx') as writer:
    df1.to_excel(writer,sheet_name='salary',index = False)
    df2.to_excel(writer,sheet_name='score',index = False)
    pd.read_excel('./data.xlsx',
    sheet_name='salary')                                                # 读取Excel中指定名字的⼯作表
三、SQL
### --- SQL

pip install sqlalchemy -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pymysql -i https://pypi.tuna.tsinghua.edu.cn/simple
### --- 数据库引擎配置

import pandas as pd
# SQLAlchemy是Python编程语⾔下的⼀款开源软件。提供了SQL⼯具包及对象关系映射(ORM)⼯具
from sqlalchemy import create_engine
df = pd.DataFrame(data = np.random.randint(0,50,size = [150,3]),        # 计算机科⽬的考试成绩
                  columns=['Python','Tensorflow','Keras'])
# 数据库连接
conn = create_engine('mysql+pymysql://root:12345678@localhost/pandas?
charset=UTF8MB4')
# 保存到数据库
df.to_sql('score',                                                      # 数据库中表名
                     conn,                                              # 数据库连接
                     if_exists='append')                                # 如果表名存在,追加数据
# 从数据库中加载
pd.read_sql('select * from score limit 10',                             # sql查询语句
            conn,                                                       # 数据库连接
            index_col='Python')                                         # 指定⾏索引名
四、HDF5
### --- HDF5

~~~     pip install tables -i https://pypi.tuna.tsinghua.edu.cn/simple
~~~     HDF5是⼀个独特的技术套件,可以管理⾮常⼤和复杂的数据收集。
~~~     HDF5,可以存储不同类型数据的⽂件格式,后缀通常是.h5,它的结构是层次性的。
~~~     ⼀个HDF5⽂件可以被看作是⼀个组包含了各类不同的数据集。
~~~     对于HDF5⽂件中的数据存储,有两个核⼼概念:group 和 dataset
~~~     dataset 代表数据集,⼀个⽂件当中可以存放不同种类的数据集,这些数据集如何管理,就⽤到了group
~~~     最直观的理解,可以参考我们的⽂件管理系统,不同的⽂件位于不同的⽬录下。
~~~     ⽬录就是HDF5中的group, 描述了数据集dataset的分类信息,通过group 有效的将多种dataset 进⾏管
~~~     理和区分;⽂件就是HDF5中的dataset, 表示的是具体的数据。
import numpy as np
import pandas as pd
df1 = pd.DataFrame(data = np.random.randint(0,50,size = [50,5]),        # 薪资情况
                   columns=['IT','化⼯','⽣物','教师','⼠兵'])
df2 = pd.DataFrame(data = np.random.randint(0,50,size = [150,3]),       # 计算机科⽬的考试成绩
                   columns=['Python','Tensorflow','Keras'])
# 保存到当前路径下,⽂件命名是:data.h5
df1.to_hdf('./data.h5',key='salary')                                    # 保存数据的key,标记
df2.to_hdf('./data.h5',key = 'score')
pd.read_hdf('./data.h5',
            key = 'salary')                                             # 获取指定的标记、key的数据
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

yanqi_vip

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

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

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

打赏作者

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

抵扣说明:

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

余额充值