python执行excel公式 语法_Python读取excel文件中带公式的值的实现
在进行excel文件读取的时候,我自己设置了部分直接从公式获取单元格的值
但是用之前的读取方法进行读取的时候,返回值为空
import os
import xlrd
from xlutils.copy import copy
file_path = os.path.abspath(os.path.dirname(__file__)) # 获取当前文件目录
print(file_path)
root_path = os.path.dirname(file_path) # 获取文件上级目录
data_path = root_path + '\\data' # 拼接data文件夹地址
data_file = data_path + '\\api.xlsx' # 拼接excel文件地址
data = xlrd.open_workbook(data_file) # 读取文件
sheet = data.sheet_by_index(0) # 切换到第一个sheet
def get_excel(row, col):
"""
excel 单元格读取
:param row:
:param col:
:return:
"""
rows = sheet.nrows # 获取最大行号
cols = sheet.ncols # 获取最大列号
path_name = sheet.cell_value(row, col) # 获取单元格值
return rows,cols,path_name
查询之后发现普通的读取不能直接读取带单元格的值。现在采用
openpyxl下的load_workbook模块
from openpyxl import load_workbook
def get_xlrd(self,row,col):
wb = load_workbook(self.data_file, data_only=True)
ws = wb.worksheets[0]
return ws.cell(row,col).value
openpyxl 读取带公式的excel时,可能会存在这些问题
要么读出来是“None”,要么是“公式本身”
wb = openpyxl.load_workbook('daikuan.xlsx',data_only = True)-------读出来的是 none
#wb = openpyxl.load_workbook('daikuan.xlsx',data_only = False)------------读出来的是 公式本身
解决办法:
公式是代码写进去的,这样读出来就是None。
手动写入公式并保存,再用openpyxl读取,能读取到公式的结果。
代码写入的公式/值,需要手动打开Excel,并保存,再用openpyxl读取,就能读取到公式了。
或者调用win32com.client import Dispatch 模块。运行下面代码后再进行读取,就能读取到数据/值
from win32com.client import Dispatch
def just_open(filename=file_name):
xlApp = Dispatch("Excel.Application")
xlApp.Visible = False
xlBook = xlApp.Workbooks.Open(filename)
xlBook.Save()
xlBook.Close()
到此这篇关于Python读取excel文件中带公式的值的实现的文章就介绍到这了,更多相关Python读取excel公式的值内容请搜索聚米学院以前的文章或继续浏览下面的相关文章希望大家以后多多支持聚米学院!
python执行excel公式 语法_Python读取excel文件中带公式的值的实现相关推荐
- python公式_Python读取excel文件中带公式的值的实现
在进行excel文件读取的时候,我自己设置了部分直接从公式获取单元格的值 但是用之前的读取方法进行读取的时候,返回值为空 import os import xlrd from xlutils.copy ...
- python打开excel的函数-Python读取excel文件中带公式的值的实现
在进行excel文件读取的时候,我自己设置了部分直接从公式获取单元格的值 但是用之前的读取方法进行读取的时候,返回值为空 import os import xlrd from xlutils.copy ...
- python读取字符串指定位置字符_python读取txt文件中特定位置字符的方法
python读取txt文件中特定位置字符的方法 如下所示: # -*- coding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding(' ...
- python csv数据处理生成图_Python 读取CSV文件数据并生成可视化图形
CSV 文件数据读取并生成图形 CSV 文件格式 在文本文件中存储数据,最简单的方式就是将数据按照一定的格式存放在文件中,在读取文件时根据设计好的格式去将对应数据读取出来,这样就能很方便的进行简单数据 ...
- python怎么读出当前时间_Python读取Excel,日期列读出来是数字的处理
Python读取Excel,里面如果是日期,直接读出来是float类型,无法直接使用. 通过判断读取表格的数据类型ctype,进一步处理. 返回的单元格内容的类型有5种: ctype: 0 empty ...
- python批量读取excel表格数据_Python读取Excel数据并生成图表过程解析
一.需求背景 自己一直在做一个周基金定投模拟,每周需要添加一行数据,并生成图表.以前一直是用Excel实现的.但数据行多后,图表大小调整总是不太方便,一般只能通过缩放比例解决. 二.需求实现目标 通过 ...
- python xlrd读取excel所有数据_python读取excel进行遍历/xlrd模块操作
我就废话不多说了,大家还是直接看代码吧~ #!/usr/bin/env python # -*- coding: utf-8 -*- import csv import xlrd import xlw ...
- python统计excel出现次数_Python读取Excel一列并计算所有对象出现次数的方法
第一种方法 import pandas as pd from collections import Counter data = '参赛信息.xlsx' data = pd.read_excel('参 ...
- python 读取excel太慢_Python 读取excel并转换为字典
方法一:利用利用xlrd读取excel文件 其实整个过程比较简单,利用xlrd读取excel文件,再把读取到的数据转换为dict即可. 1.安装 xlrd pip install xlrd 2.读取文 ...
- python 读excel一列_Python读取Excel一列并计算所有对象出现次数的方法
第一种方法 import pandas as pd from collections import Counter data = '参赛信息.xlsx' data = pd.read_excel('参 ...
最新文章
- shell脚本的规范
- NSTimer循环引用的问题
- 7 种 JVM 垃圾收集器,看完我跪了。。
- 虚拟机和Linux系统的安装
- 干货 | C语言系列3——常量,运算符,常用数学函数......
- 一加7T Pro最新渲染图曝光:背部有小改动
- Apache Zookeeper 集群环境搭建
- iOS中的枚举:enum, NS_ENUM, NS_OPTIONS的使用区别
- Cpdetector编码识别
- Java项目:JSP酒店客房管理系统
- 医院信息系统培训心得
- css中背景图像移动_深入了解:在CSS中使用编码图像(背景图像)
- 怎么获取计算机用户权限,如何获取电脑的最高管理权限|细讲电脑最高管理权限的获取方式...
- linux中tac的用法,如何在Linux中使用“cat”和“tac”命令与示例
- Android仿微信朋友圈7实现点赞功能
- javascript 动态设置样式style
- 计算机桌面可装在其它盘吗,教大家如何把桌面保存到C盘以外的其他盘里,让电脑飞速转起来...
- Linux磁盘分区(fdisk)及磁盘限额(quota)
- 在UE4里实现四叉树查找最近点
- R语言之主成分回归与偏最小二乘xt8.3xt8.4