三、Python系列——Pandas数据库读取数据
Pandas主要先读取表格类型的数据,然后进行分析。

import pandas as pd
# 由于是用pandas模块操作数据,因此不用在路径前加open,否则就是python直接打开文件,可能还会打不开出错
# file_path_excel = open('E:\\学习\\Python\\Pandas模块的导入及学习-数据分析\\bank.xls')是错的
# 文件所在的位置,文件路径用双杠\\,或是反方向单杠/, 或在文件路径前加一个r即可直接使用原路径的单杠\即:r'\'
# 'E:\\学习\\bank.csv' 或 'E:/学习/bank.csv' 或 r'E:\学习\bank.csv' 都是正确的
1.读取纯文本文件 --使用pandas.read_csv
1.1 读取csv,使用默认的标题行、逗号分隔符--有时csv文本中的数据编码不兼容,打开时出错,read_csv(..,encoding=’换一种更通用更高级的编码如gbk,gb18030等即可’)


file_path_csv = 'E:\\学习\\Python\\Pandas模块的导入及学习-数据分析\\bank.csv' # 文件路径为\\或/或r'\'都可
bank_csv = pd.read_csv(file_path_csv) # 使用pandas.read_csv读取文件
print(bank_csv.head()) # 查看前几行数据,默认显示前5行数据
print(bank_csv.shape) # 查看数据的形状,返回(行数,列数)
print(bank_csv.dtypes) # 查看每列的数据类型
1.2 读取txt文件,自己制定分隔符

file_path_txt = 'E:\\学习\\Python\\Pandas模块的导入及学习-数据分析\\bank.txt'
bank_txt = pd.read_csv(file_path_txt, sep=' ', header=None, names=['name', 'password', 'balance'])
# sep=' '空格为自己设定的分隔符,,默认是','号;header=None 如果不将数据集的第一行作为表头,需要设置header=None,
# header指定行数用来作为列名,数据开始行数,如果需要第一行做表头 header=0 即可;names后面是自己加入指定的标题
# bank_txt = pd.read_csv(file_path_txt, sep=' ', header=0)
print(bank_txt)
2.读取excel文件--使用pandas.read_excel

bank_excel = pd.read_excel('E:/学习/Python/Pandas模块的导入及学习-数据分析/bank.xls', sheet_name='user')
print(bank_excel)


2.1 读取同一文件下的多个sheet数据--使用pandas.ExcelFile('文件名')

excel_reader = pd.ExcelFile(r'C:\Users\Administrator\Desktop\test.xls') # 指定文件
"""
sheet_names = excel_reader.sheet_names # 读取文件的所有表单名,得到列表
# 读取表单的内容,i是表单名的索引,等价于pd.read_excel('文件', sheet_name=sheet_names[i])
df_data = excel_reader.parse(sheet_name=sheet_names[i])
"""
df1 = excel_reader.parse(sheet_name='') # 读取表单内容
df2 = excel_reader.parse(sheet_name='')
2.2 对excel的一些简单操作

print(bank_excel.shape) # 读取行列
n_rows = bank_excel.shape[0]
print(n_rows) # 读取最大行
n_columns = bank_excel.columns.size
print(n_columns) # 读取最大列
print(bank_excel.iloc[0, 1]) # 读取指定行列内容 列和行的序号都从0开始,且iloc索引不含标题行
# iloc与loc的区别在于,iloc[行号,列号]而不是loc[行名,列名] for i in range(n_rows):
for j in range(n_columns):
print(bank_excel.iloc[i, j]) # 遍历表格 print(bank_excel.iloc[0].values) # iloc索引 返回列表除标题外的第一行数据
print(bank_excel.index.values) # 获取行号并打印输出
print(bank_excel.columns.values) # 获取列名并打印输出 r = bank_excel.loc[bank_excel['name'] == 'tom'] # 输出筛选的数据内容
e = bank_excel.loc[bank_excel['balance'] >= 1000]
s = bank_excel.loc[bank_excel['name'].str.contains('o')] # 输出含有字符o的数据
# 组合条件用&符号合并,每个条件判断都得带括号
m = bank_excel.loc[(bank_excel['balance'] >= 1000) & (bank_excel['name'] == 'tom')]
u = bank_excel.loc[:, ['name', 'balance']] # 输出指定列的所有内容
l = bank_excel.loc[0:2, ['name', 'balance']] # 输出指定列的0-2行数据内容
t = bank_excel.loc[0:2, ] # 输出指定行0-2行数据
print(r)
print(s)
3.读取MySQL数据库

import pymysql
connect_mysql = pymysql.connect(host='S1KBB', user='sa', password='wwyy1234',database='test1', charset='utf8')
# pymysql.connect(host=“你的数据库地址--一般是计算机名”, user=“用户名”,password=“密码”,database=“数据库名”,charset=“utf8”)
mysql_page = pd.read_sql('select * from [test1].[dbo].[course]', con=connect_mysql)
print(mysql_page)
三、Python系列——Pandas数据库读取数据的更多相关文章
- 10天学会phpWeChat——第三天:从数据库读取数据到视图
在第二天,我们创建了我们的第一个phpWeChat功能模块,但是比较简单.实际生产环境中,我们不可能有如此简单的需求.更多的情况是数据存储在MySql数据库中,我们开发功能模块的作用就是将这些数据从M ...
- python连接mysql数据库读取数据
#-*- coding:utf-8 -*- #Author:'Lmc' #DATE: 2019/4/28/0028 上午 11:22:47 #FileName:test.PY import pymys ...
- Python利用pandas处理Excel数据的应用
Python利用pandas处理Excel数据的应用 最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做 ...
- echarts通过ajax向服务器发送post请求,servlet从数据库读取数据并返回前端
1.echarts的官网上的demo,都是直接写死的随机数据,没有和数据库的交互,所以就自己写了一下,ok,我们开始一步一步走一遍整个流程吧. 就以官网最简单的那个小demo来做修改吧.官网上的小de ...
- C#实现从数据库读取数据到Excel
用第三方组件:NPOI来实现 先去官网:http://npoi.codeplex.com/下载需要引入dll(可以选择.net2.0或者.net4.0的dll),然后在网站中添加引用.使用 NPOI ...
- JMeter 参数化之利用JDBCConnectionConfiguration从数据库读取数据并关联变量
参数化之利用DBC Connection Configuration从数据库读取数据并关联变量 by:授客 QQ:1033553122 1. 下载mysql jar包 下载mysql jar包 ...
- Android打开数据库读取数据
打开数据库读取数据 private MyDatabaseHelper dbHelper; dbHelper=new MyDatabaseHelper(this,"List.db", ...
- 使用python将mysql数据库的数据转换为json数据
由于产品运营部需要采用第三方个推平台,来推送消息.如果手动一个个键入字段和字段值,容易出错,且非常繁琐,需要将mysql的数据转换为json数据,直接复制即可. 本文将涉及到如何使用Python访问M ...
- 【转】用python比对数据库表数据的脚本
最近在做一个数据库异构复制的项目,客户表示需要一个数据比对的工具,我就自己写了一个异构数据库的比对python脚本.这个比对脚本只能比对数量,不能比对具体的记录.使用的sql语句也是最基础的selec ...
随机推荐
- numpy中的max和maximum
numpy科学计算包中有两个函数np.max()和np.maximum(),他们的功能截然不同.简单而言即前者作用于ndarray对象,求的是它自身的最大.而后者是一个数学上的取$\max$的效果,它 ...
- cb41a_c++_STL_算法_填充新值fill_generate
cb41a_c++_STL_算法_填充新值fill_generatefill(b,e,v)fill_n(b,n,v),填充n个vgenerate(b,e,p)generate_n(b,n,p) gen ...
- jmeter正则提取器提取一个值或多个值
[安装Dummy插件] 这个插件可以模拟服务器返回,相当于一个mockserver了. 首先安装Dummy,选项--插件管理--可选插件--Dummy. [模拟响应] 添加线程组,在线程组下添加Dum ...
- Java操作RockeMQ
RocketMQ是阿里巴巴在2012年开源的分布式消息中间件,目前已经捐赠给Apache基金会,已经于2016年11月成为 Apache 孵化项目,相信RocketMQ的未来会发挥着越来越大的作用,将 ...
- Python-16-分配参数
与收集参数相反,这里用*和**分配参数 def add(x, y): return x + y 使用*分配元组 params = (1, 2) >>> ad ...
- 黎活明8天快速掌握android视频教程--20_采用ContentProvider对外共享数据
1.内容提供者是让当前的app的数据可以让其他应用访问,其他应该可以通过内容提供者访问当前app的数据库 contentProvider的主要目的是提供一个开发的接口,让其他的应该能够访问当前应用的数 ...
- Python实用笔记 (21)面向对象编程——获取对象信息
当我们拿到一个对象的引用时,如何知道这个对象是什么类型.有哪些方法呢? 使用type() 首先,我们来判断对象类型,使用type()函数: 基本类型都可以用type()判断: >>> ...
- 部署rabbitMQ镜像集群实战测试
部署rabbitMQ镜像集群 版本信息 rabbit MQ: 3.8.5 Erlang: 官方建议最低21.3 推荐22.x 这里用的是23 环境准备 主机规划 主机 节点 172.16.14.3 磁 ...
- JavaScript基础-即时函数(Immediate Functions)(017)
1.即时函数的声明方法 即时函数(Immediate Functions)是一种特殊的JavaScript语法,可以使函数在定义后立即执行:(function () { alert('watch ...
- 如何针对Thymeleaf模板抽取公共页面
对于公共页面(导航栏nav.页头head.页尾footer)的抽取有三种方式: 1)基于iframe进行抽取,这种方式很有效,但比较老了,另外为了页面的自适应性,还得做不少工作: ...