pandas模块数据的读取

一、文本文件的读取

用pd.read_csv()方法读取文本文件
pd.read_csv()方法常用参数:
filepath_or_buffer :指定txt文件或csv文件所在的具体路径。
sep :指定原数据集中各字段之间的分隔符,默认为逗号","
header :是否需要将原数据集中的第一行作为表头,默认将第一行用作字段名称。
names :如果元数据集中没有字段,可以通过该参数在数据读取时给数据框添加及具体的表头。
usecols :指定需要读取原数据集中的哪些变量名。
skiprows :数据读取时,指定需要跳过原数据集开头的行数。
skipfooter :数据读取时,指定需要跳过原数据集末尾的行数。
converters :用于数据类型的转换(以字典的形式指定)
encoding :如果文件中含有中文,有时需要指定字符编码。

import pandas as pd
#读取txt文件
csv = pd.read_csv("C:/Users/Administrator/Desktop/pandas.txt",sep=":",skiprows=3,header=None,
names=["方法","作用"],encoding="utf-8")
print(csv)
#excel表格读取

结果:
在这里插入图片描述

二、excel表格的读取

用pd.read_excel()方法读取
pd.read_excel()方法的常用参数:和read_csv()方法差不多,就多了一个sheet_name参数,用来指定excel具体的哪一个表格。

import pandas as pd
#excel表格读取
excel = pd.read_excel("D:/学习.xls")
print(excel)

结果:
在这里插入图片描述

三、MySQL数据库数据的读取

1、需要pymysql库来连接数据库
pymysql.connect(host=None,user=None,password="",database=None,port=0,charset="")
host:指定需要访问的MySQL服务器
user:指定MySQL数据库的用户名
password:指定MySQL数据库的密码
database:指定访问MySQL数据库的具体库名
port:指定访问MySQL数据库的端口号(一般默认为3306)
charset:指定读取MySQL数据库的字符集,如果数据库表中含有中文,一般可以尝试将该参数设置为"utf-8"或"gbk"
2、连接好数据库之后再用pandas模块中的read_sql()方法读取数据表中的数据
pd.read_sql()常用参数和之前两个的参数差不多

import pandas as pd
import pymysql
#MySQL数据库数据读取
#该数据库数据在本地计算计中,所以IP为"127.0.0.1"
bridge = pymysql.connect(host="127.0.0.1",port=3306,user="root",password="123456",database="course")
#读取course库中student表中的数据
sql = pd.read_sql("select * from student;",con=bridge)
bridge.close() #读取完数据之后要关闭,不然会占用内存
print(sql)

结果:
在这里插入图片描述

数据概览

1、输出所有数据的前五行:a.head()

#输出所有数据的前五行
fort_five = sql.head()
print(fort_five)

结果:
在这里插入图片描述
2、输出读取的数据是几行几列:a.shape

#输出数据是几行几列
all_shape = sql.shape
print(all_shape)

结果:
在这里插入图片描述
3、输出数据的所有属性:a.columns

输出数据的所有属性
attribute = sql.columns
print(attribute)

结果:
在这里插入图片描述
4、输出属性的类型:a.dtypes
注:在pandas模块中字符串类型为object类型

#输出属性的类型
dtype = sql.dtypes
print(dtype)

结果:
在这里插入图片描述
5、统计描述:a.describe()
describe()方法默认对数值类型进行统计描述

describe = sql.describe()
print(describe)

结果:
在这里插入图片描述
6、对非数值类型进行统计描述,用include参数指定相应的类型就行

all_describe = sql.describe(include="object")
print(all_describe)

结果:
在这里插入图片描述
7、输出相应列的所有数据,可以用a.列名或a[“列名”]

print(sql["Score"])
#输出这三列的数据
print(sql[["id","Student_id","Score"]])

结果:
在这里插入图片描述

8、找出行数据

#找出Student_id=="201810101101"并且Score >= 70的所有数据
print(sql.loc[(sql.Student_id=="201810101101") & (sql.Score >= 70),:])

结果:
在这里插入图片描述

#找出Student_id=="201810101101"并且Score >= 70所有数据,但只输出其中"id","Score"这两列
print(sql.loc[(sql.Student_id=="201810101101") & (sql.Score >= 70),["id","Score"]])

结果:
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值