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. JavaSE基础之数组

    数组 一.静态初始化 格式一 数据类型[] 变量名 = {元素1,元素2,元素3...}; 格式二 数据类型[] 变量名 = new 数据类型{元素1,元素2,元素3...}; 或者: 数据类型[] ...

  2. HTML新增的语义化标签及其作用

    在html5中,新增了几个语义化标签:<article>.<section>.<aside>.<hgroup>. <header>,< ...

  3. cb40a_c++_STL_算法_交换swap_ranges

    cb40a_c++_STL_算法_交换swap_rangesswap_ranges(b,e,b2);如果两个容器的数据数量不一致时,只交换一部分数据,a里面3个,b里面5个,则只会交换3个,b里面还有 ...

  4. MFC vc++严重性 代码 说明 项目 文件 行 禁止显示状态 错误 C3646 “m_SockClient”: 未知重写说明符

    严重性 代码 说明 项目 文件 行 禁止显示状态错误 C3646 “m_SockClient”: 未知重写说明符 MFC_TCP_CSocket_Client c:\users\tt2018\docu ...

  5. 微信小程序for循环遍历

    wxml:           <block wx:for="{{data}}" wx:for-item="data">             & ...

  6. 【asp.net core 系列】12 数据加密算法

    0. 前言 这一篇我们将介绍一下.net core 的加密和解密.在Web应用程序中,用户的密码会使用MD5值作为密码数据存储起来.而在其他的情况下,也会使用加密和解密的功能. 常见的加密算法分为对称 ...

  7. Python3-设计模式-迭代器模式

    Python3中的迭代器 迭代器模式主要是访问集合元素的一中方式,迭代器不会把整个集合对象加载到内存,而是按照顺序将集合中的元素一个一个的进行迭代,这样每次迭代的时候只取少量的元素,比较省内存 注: ...

  8. 入门大数据---Python基础

    前言 由于AI的发展,包括Python集成了很多计算库,所以淡入了人们的视野,成为一个极力追捧的语言. 首先概括下Python中文含义是蟒蛇,它是一个胶水语言和一个脚本语言,胶水的意思是能和多种语言集 ...

  9. 进度条的使用 Progress控件

    MFC编程实例二:进度条的使用 2011-03-22 09:09:09|  分类: C++(C语言) |  标签:进度  nlower  nupper  添加  mfc  |字号 订阅    本人用的 ...

  10. LeetCode57. 插入区间

    对于新插入的区间newInterval,原区间列表intervals可以分为三个部分: 左边与newInterval不重合的区间,这些区间直接加入结果数组中: 中间与newInterval重合的区间, ...