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数据库读取数据的更多相关文章

  1. 10天学会phpWeChat——第三天:从数据库读取数据到视图

    在第二天,我们创建了我们的第一个phpWeChat功能模块,但是比较简单.实际生产环境中,我们不可能有如此简单的需求.更多的情况是数据存储在MySql数据库中,我们开发功能模块的作用就是将这些数据从M ...

  2. python连接mysql数据库读取数据

    #-*- coding:utf-8 -*- #Author:'Lmc' #DATE: 2019/4/28/0028 上午 11:22:47 #FileName:test.PY import pymys ...

  3. Python利用pandas处理Excel数据的应用

    Python利用pandas处理Excel数据的应用   最近迷上了高效处理数据的pandas,其实这个是用来做数据分析的,如果你是做大数据分析和测试的,那么这个是非常的有用的!!但是其实我们平时在做 ...

  4. echarts通过ajax向服务器发送post请求,servlet从数据库读取数据并返回前端

    1.echarts的官网上的demo,都是直接写死的随机数据,没有和数据库的交互,所以就自己写了一下,ok,我们开始一步一步走一遍整个流程吧. 就以官网最简单的那个小demo来做修改吧.官网上的小de ...

  5. C#实现从数据库读取数据到Excel

    用第三方组件:NPOI来实现 先去官网:http://npoi.codeplex.com/下载需要引入dll(可以选择.net2.0或者.net4.0的dll),然后在网站中添加引用.使用 NPOI ...

  6. JMeter 参数化之利用JDBCConnectionConfiguration从数据库读取数据并关联变量

    参数化之利用DBC Connection Configuration从数据库读取数据并关联变量   by:授客 QQ:1033553122 1.   下载mysql jar包 下载mysql jar包 ...

  7. Android打开数据库读取数据

    打开数据库读取数据 private MyDatabaseHelper dbHelper; dbHelper=new MyDatabaseHelper(this,"List.db", ...

  8. 使用python将mysql数据库的数据转换为json数据

    由于产品运营部需要采用第三方个推平台,来推送消息.如果手动一个个键入字段和字段值,容易出错,且非常繁琐,需要将mysql的数据转换为json数据,直接复制即可. 本文将涉及到如何使用Python访问M ...

  9. 【转】用python比对数据库表数据的脚本

    最近在做一个数据库异构复制的项目,客户表示需要一个数据比对的工具,我就自己写了一个异构数据库的比对python脚本.这个比对脚本只能比对数量,不能比对具体的记录.使用的sql语句也是最基础的selec ...

随机推荐

  1. 查看apk安装包信息

    ➜ sdk aapt dump badging ~/Downloads/PermRoot8006.apk package: name='com.qihoo.permmgr' versionCode=' ...

  2. Sharding-JDBC 快速入门第一课

    1.  概述 ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC.Sharding-Proxy和Sharding-Sidecar(计划中)这 ...

  3. elasticsearchBouncing Results问题

    bouncing results问题,两个document排序,field值相同:不同的shard上,可能排序不同:每次请求轮询打到不同的replica shard上:每次页面上看到的搜索结果的排序都 ...

  4. Skywalking的存储配置与调优

    https://blog.csdn.net/smooth00/article/details/96479544 作为一款APM和全链路监控平台,Skywalking算是挺出色的.Skywalking是 ...

  5. script写在head与写在body中的区别

    咱先说将Javascript写在head里面的情况吧,如果你要在这里面去操控DOM元素,是会报错的,因为浏览器是先执行head标签里面的内容,在执行时你的DOM元素还没有生成.(使用了windows. ...

  6. vueX基础知识笔记

    接着昨天的知识点 mutations提交时,有时候达不到想要的响应式,我们必须要将数据提前放到state中,否则不会达到响应式的效果.比如 state.info['address'] = value ...

  7. 【Python3爬虫】模拟实现小牛在线登录过程

    一.站点分析 小牛在线的登录入口地址为:https://www.xiaoniu88.com/user/login. 用户登录时除了需要输入用户名和密码,还要输一个验证码.我们可以先任意输入一个用户名. ...

  8. Oracle数据库中,误删除或者修改数据恢复方法

    在我们实际工作中,误删除或者修改Oracle数据库中的数据,怎么办呢?这里给大家分享一种解决办法.假如你误操作的时间不超过30分钟(数据库默认的回滚保持段里的数据时间,可以在pl/sql执行窗口按ct ...

  9. 基于 fetch 的请求封装

    原生 fetch 请求失败后(如无网络)状态会变成 reject 走 .catch .绝大多数情况下业务场景只需要给个 toast 等简单处理.每个请求都 .catch 会显得格外繁琐,并且如果不 . ...

  10. Redis系列(八):发布与订阅

    Redis的发布与订阅,有点类似于消息队列,发送者往频道发送消息,频道的订阅者接收消息. 1. 发布与订阅示例 首先,在本机开启第1个Redis客户端,执行如下命令订阅blog.redis频道: SU ...