#coding=utf-8
# pip install xlrd import xlrd
def read_from_xls(filepath,index_col_list):
#filepath:读取文件路径,例如:filepath = r'D:/Python_workspace/test.xlsx'
  #index_col_list:读取列的索引列表,例如第一、二、三、四列为:[1,2,3,4]
# 设置GBK编码
xlrd.Book.encoding = "gbk"
rb = xlrd.open_workbook(filepath)
#print(rb) sheet = rb.sheet_by_index(0) #表示Excel的第一个Sheet
nrows = sheet.nrows
data_tmp_x = [] #例如数据为x,y,z坐标数据
data_tmp_y = []
data_tmp_z = []
for index_col in index_col_list: #依次选择第index_col列
for i in range(nrows):
tt=i+1 #读取第tt行,除去第一行的列名
if tt >= nrows:
break
else:
tmp = float(sheet.cell_value(tt,index_col)) #读取第几行第几列的数据内容
if index_col == 2:
data_tmp_x.append(tmp)
elif index_col == 3:
data_tmp_y.append(tmp)
elif index_col == 4:
data_tmp_z.append(tmp)
data_tmp = np.mat([data_tmp_x,data_tmp_y,data_tmp_z])
return data_tmp # 使用pandas读取excel
# filepath: xlsx文件路径名
import pandas as pd
data = pd.read_excel(filepath)
province_name = data['province'].values.tolist() # province为列名,结果形成列表
province_people = data['count'].values.tolist()

-------- pandas读取excel —— pd.read_excel --------

部分参数说明:

def read_excel(io,
sheet_name=0,
header=0,
names=None,
index_col=None,
usecols=None,
squeeze=False,
dtype=None,
engine=None,
converters=None,
true_values=None,
false_values=None,
skiprows=None,
nrows=None,
na_values=None,
parse_dates=False,
date_parser=None,
thousands=None,
comment=None,
skipfooter=0,
convert_float=True,
**kwds)

io:excel文件路径

sheet_name:string, int, mixed list of strings/ints, or None, default 0,sheet表名

    * Defaults to 0 -> 1st sheet as a DataFrame
* 1 -> 2nd sheet as a DataFrame
* "Sheet1" -> 1st sheet as a DataFrame
* [0,1,"Sheet5"] -> 1st, 2nd & 5th sheet as a dictionary of DataFrames
* None -> All sheets as a dictionary of DataFrames

header:指定作为列名的行,默认为0,即取第一行作为列名;若数据不含列名,则设定 header = None

names:可用列表等参数指定列名序列,如果没有列名,则需要先设置 header=None;如果只有一列,需要设置为列表形式,例如:['第一列'],否则会出现错误:TypeError: Index(...) must be called with a collection of some kind

names : array-like, default None
List of column names to use. If file contains no header row,
then you should explicitly pass header=None

index_col:以某一列作为行标签,也就是行索引

skiprows:从头开始跳过的行数,可以传列表

skipfooter:省略从末尾开始的行数

na_values:识别NA/NaN数据,并替换为该值

na_values : scalar, str, list-like, or dict, default None
Additional strings to recognize as NA/NaN. If dict passed, specific
per-column NA values. By default the following values are interpreted
as NaN: '""" + fill("', '".join(sorted(_NA_VALUES)), 70, subsequent_indent=" ") + """'.

squeeze:当传入数据只有一列时,返回序列Series,而不是Dataframe数据

squeeze : boolean, default False
If the parsed data only contains one column then return a Series

nrows:要解析的行数

nrows : int, default None
Number of rows to parse .. versionadded:: 0.23.0
## 欢迎有错误进行指正,也可交流改进

Python使用xlrd、pandas包从Excel读取数据的更多相关文章

  1. 沉淀,再出发:python中的pandas包

    沉淀,再出发:python中的pandas包 一.前言 python中有很多的包,正是因为这些包工具才使得python能够如此强大,无论是在数据处理还是在web开发,python都发挥着重要的作用,下 ...

  2. Python数据分析:pandas玩转Excel (二)

    1 对Excel文件的操作 方法一: 使用xlrd库或者xlwt库进行对excel表格的操作读与写: 方法二: pandas库同样支持excel的读写操作:且更加简便. 2 pd.read_excel ...

  3. Python之路-pandas包的详解与使用

    什么是pandas pandas是一种Python数据分析的利器,是一个开源的数据分析包,最初是应用于金融数据分析工具而开发出来的,因此pandas为时间序列分析提供了很好的支持.pandas是PyD ...

  4. TestNG参数化测试之Excel读取数据

    1.新建Excel文档,准备好测试数据 在当前工程的resources目录下,新建文件名为testdata的Excel文档 打开Excel,将当前sheet重命名为calculator,构造num1. ...

  5. Jmeter 5.1 从excel读取数据执行接口自动化

    思路:数据在excel文件中进行维护,然后转换成csv格式,jme中读取数据执行: 1.将接口各数据在excel文件中进行维护,然后存为csv格式,我的数据如下: 2.jmeter脚本,配置csv文件 ...

  6. python第二十九课——文件读写(读取数据操作)

    演示读取数据操作:path=r'a.txt' 1.打开文件f1=open(path,'r') 2.读取数据content1=f1.read(3)print(content1) content1=f1. ...

  7. python之从文件中按行读取数据

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- __author__ = 'jiangwenwen' # 从文件中按行读取数据 file = open(& ...

  8. python使用xlrd和xlwt读写Excel文件

    版权声明:本文为博主原创文章,未经允许不得转载. 安装模块 如果使用的是Linux系统,并且安装了pip,可以直接使用pip安装xlrd, xlwt: pip install xlwt pip ins ...

  9. Python数据分析:pandas玩转Excel (一)

    目录 1 pandas简介 2 导入 3 使用 4 读取.写入 1 pandas简介 1.Pandas是什么? Pandas是一个强大的分析结构化数据的工具集: 它的使用基础是Numpy(提供高性能的 ...

随机推荐

  1. DB2中ALTER TABLE的使用

    今天在看DB2存储过程的时候发现了如下语句能够清空表: ... SET EX_SQL='ALTER TABLE TEST_TABLE ACTIVATE NOT LOGGED INITIALLY WIT ...

  2. iphone那些事儿

    1.微信文件如何发送到钉钉? 打开微信的某文件,点击右上角三个点,选择其他应用打开,选择钉钉.即可复制文件到钉钉. 2.无限网地址 设置-通用-关于本机-无线局域网地址 锂离子电池,受气温影响,气温低 ...

  3. docker中的fastdfs

    准备环节)(本文遗漏当初出现的一个问题由于是docker装的fastdfs所以tracker storage client,nginx,nginx module都在同一个容器中只需要修改配置 特别注意 ...

  4. JMC(Java Mission Control)在mac下无法启动和显示界面

    错误 `org.eclipse.swt.layout.griddata cannot be cast to org.eclipse.swt.layout.filldata` 解决 来源 注意 根据自己 ...

  5. 常见问题:计算机网络/运输层/UDP

    几乎不对IP增加其他东西,无连接. 优势 速度快.适合实时. 无连接建立,没有连接时延. 无连接状态. 分组首部开销小.TCP需20字节,UDP仅需8字节. 使用UDP的协议 DNS SNMP RIP ...

  6. Teaset-React Native UI 组件库

    GitHub地址 https://github.com/rilyu/teaset/blob/master/docs/cn/README.md React Native UI 组件库, 超过 20 个纯 ...

  7. Appium移动自动化测试-----(五) java-client安装与测试

    前提条件 当你点击这一章时,说明你是打算使用 Java 语言编写 appium 自动化测试脚本的. 1.安装 Java 环境 ,我想这一步你已经搞定了 2.安装 IntelliJ IDEA , 当然, ...

  8. 综述论文翻译:A Review on Deep Learning Techniques Applied to Semantic Segmentation

    近期主要在学习语义分割相关方法,计划将arXiv上的这篇综述好好翻译下,目前已完成了一部分,但仅仅是尊重原文的直译,后续将继续完成剩余的部分,并对文中提及的多个方法给出自己的理解. 论文地址:http ...

  9. [VS] - EntityFrameworkCore 2.0 安装失败 之解决

    背景 在 Visual Studio 2017 中,使用 Nuget 包管理器安装 EntityFrameworkCore 2.0 失败.切换至程序包控制器管理台,查看 Error Message: ...

  10. Python之reduce函数使用示例

    #!/usr/bin/env python # -*- coding:utf8 -*- '''reduce:处理一个序列,然后把序列进行合并操作''' ###在python中没有reduce函数,所以 ...