IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发工具 -> python读取excel数据 -> 正文阅读

[开发工具]python读取excel数据

Step1:import xlrd 或者取terminal中: pip install xlrd == 1.2.0

一定要记得是1.2.0的版本,或者后面会报错。如果,出现报错:
xlrd.biffh.XLRDError: Excel xlsx file; not supported

就是因为xlrd的版本是2.0以上的,可以去:
在这里插入图片描述
进行修改版本。

(这里要吐槽一下,为什么版本升级的时候,会出现这样低级的错误,这不是倒退升级吗?)

Step2:导入数据

在这里插入图片描述
这里需要注意:
1. 使用的是 ’ ’ 单引号进行包裹路径
2. 路径分隔符是 \ 双斜杠

Step3:读取行列数据

sheet1 = data.sheet_by_name("Sheet1")   # 按名获取该文件中的表格

print("行数:", sheet1.nrows, "列数:", sheet1.ncols)
first_row_values = sheet1.row_values(1) # 获取第2行的数据
first_col_values = sheet1.col_values(0) # 获取第1列的数据

附完整代码

import numpy as np
from datetime import datetime
import xlrd
from xlrd import xldate_as_tuple


# 读取Excel数据
def readExcelData(filePath, sheetName, startReadRow, endReadRow, startReadCol, endReadCol):
    """
    param filePath:         文件路径
    param sheetName:        所读取文件中的表格名字
    param startReadRow:     从多少行开始阅读,注意是从0开始哟,例如:wps中的第4行,这里要换成从第3行
    param endReadRow:       结束读取的行,如结束读取的行在WPS中显示 43,则这里的 endReadRow = 42
    param startReadCol:     从多少行开始读取
    param endReadCol:       从多少行结束读取
    return: 表格中的数据,为数组类型,可以直接通过 dataArr[0,:]取行列数据
    """
    workbook = xlrd.open_workbook(filePath)
    sheet = workbook.sheet_by_name(sheetName)               # 通过名称获取,读取第一个接收的表格
    first_row_values = sheet.row_values(1)                  # 去读表格第一行数据,如果是字典模式可以当做key使用,列表可用户那单元格数据判断使用
    dataArr = []
    num = startReadRow                                      # 从表格第几行开始读取
    for row_num in range(num, endReadRow + 1):              # 循环根据拿到的行数循环多少次,拿完为止
        row_values = sheet.row_values(row_num)              # 返回由该行中所有单元格的数据组成的列表
        if row_values:
            str_obj = []
        for i in range(startReadCol, endReadCol+1):              # 循环取单元格里的值
            ctype = sheet.cell(num, i).ctype                # 返回单元格对象
            cell = sheet.cell_value(num, i)                 # 返回单元格中的数据
            # todo if ctype == 2 and cell % 1 == 0.0 解决当为浮点数的时候的精度问题
            if ctype == 3:                                  # 0:null, 1字符串, 2 数字, 3 日期, 4 boolean, 5 error
                date = datetime(*xldate_as_tuple(cell, 0))
                cell = date.strftime('%Y/%m/%d %H:%M:%S')
            elif ctype == 4:
                cell = True if cell == 1 else False
            str_obj.append(cell)
        dataArr.append(str_obj)
        num = num + 1
    return np.array(dataArr)

  开发工具 最新文章
Postman接口测试之Mock快速入门
ASCII码空格替换查表_最全ASCII码对照表0-2
如何使用 ssh 建立 socks 代理
Typora配合PicGo阿里云图床配置
SoapUI、Jmeter、Postman三种接口测试工具的
github用相对路径显示图片_GitHub 中 readm
Windows编译g2o及其g2o viewer
解决jupyter notebook无法连接/ jupyter连接
Git恢复到之前版本
VScode常用快捷键
上一篇文章      下一篇文章      查看所有文章
加:2021-10-04 13:02:21  更:2021-10-04 13:04:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/16 0:50:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码