当前位置: 首页 > news >正文

59网站一起做网店女鞋北京软装设计公司有哪些

59网站一起做网店女鞋,北京软装设计公司有哪些,中企动力网站建设,重庆网络推广排行Python操作EXCEL,计算3万条数据的NDVI并填入 问题描述 现在是有构建好了的查找表,不过构建了3万条数据,在excel中手动计算每行的NDVI值太麻烦了,也不会操作。 就试试python吧,毕竟python自动处理大型EXCEL数据很方便…

Python操作EXCEL,计算3万条数据的NDVI并填入

问题描述

现在是有构建好了的查找表,不过构建了3万条数据,在excel中手动计算每行的NDVI值太麻烦了,也不会操作。
就试试python吧,毕竟python自动处理大型EXCEL数据很方便
在这里插入图片描述

思路

先用pd打开表格,存为dataframe。然后创建一个空的列表用来存入计算好的ndvi。在第一个循环中,计算每行的ndvi,并添加到列表中去。然后打开原来的文件,在第二个循环中,对每一个指定位置逐行写入列表中对应的ndvi值。最后保存文件

源代码

import pandas as pd
# 使用python在已存在的excel数据表中的特定位置写入数据
# excel表中的行和列都是从1开始的
import openpyxl as opfilePath = r"C:/Users/lenovo/Desktop/lut.xlsx"
def readDataFile(readPath):  # readPath: 数据文件的地址和文件名try:if (readPath[-4:] == ".csv"):dfFile = pd.read_csv(readPath, header=0, sep=",")  # 间隔符为逗号,首行为标题行# dfFile = pd.read_csv(filePath, header=None, sep=",")  # sep: 间隔符,无标题行elif (readPath[-4:] == ".xls") or (readPath[-5:] == ".xlsx"):  # sheet_name 默认为 0dfFile = pd.read_excel(readPath,header=0)  # 首行为标题行# dfFile = pd.read_excel(filePath, header=None)  # 无标题行elif (readPath[-4:] == ".dat"):  # sep: 间隔符,header:首行是否为标题行dfFile = pd.read_table(readPath, sep=" ", header=0)  # 间隔符为空格,首行为标题行# dfFile = pd.read_table(filePath,sep=",",header=None) # 间隔符为逗号,无标题行else:print("不支持的文件格式。")except Exception as e:print("读取数据文件失败:{}".format(str(e)))returnreturn dfFiledata=readDataFile('C:/Users/lenovo/Desktop/lut.xlsx')
print(data)
NIR=data['nir']
R=data['r']
list=[]
for i in range(len(data)):ndvi=(NIR[i]-R[i])/(NIR[i]+R[i])list.append(ndvi)print(list)tableAll = op.load_workbook(filePath)
table1 = tableAll['lut']
for i in range(len(list)):table1.cell(i+2, 11, list[i])
tableAll.save(filePath)

结果

在这里插入图片描述

注意

1、把红波段和近红波段的列名从数字改为字符r和nir,因为pd的[‘’]索引方式好像不支持数字。
2、openpyxl库只支持.xlsx格式的数据
3、cell函数行列索引从1开始

代码注释

1、tableAll = op.load_workbook(filePath)

使用openpyxl库中的load_workbook()方法来打开指定路径下的工作簿文件,并将其赋值给变量tableAll。其中op是openpyxl库的别名或者导入的模块。

2、table1 = tableAll[‘lut’]

打开工作簿文件的sheet,根据自己的sheet_name来改
在这里插入图片描述

3、table1.cell(i+2, 11, list[i])

cell函数第一个元素为指定行,第二个为指定列,最后一个为待写入的数据。注意此时行和列的索引都是从1开始的,与dataframe,len(),range()等等python常见的索引都是从0开始不同。

http://www.yayakq.cn/news/979918/

相关文章:

  • 邯郸市住房和建设官方网站淘宝客怎样做自己的网站推广
  • 网站建设 费用预算wordpress主题lenews
  • 建设公司的网站宁波网站设计公司
  • 网站建设 网络推广做pc端网站用什么框架
  • 期末成绩管理网站开发背景安装wordpress500
  • 长春有什么好的网站制作公司上海百度推广排名
  • 个人网站做电影资源链接犯法吗域名转出过程网站能打开吗
  • 外国网站开放的浏览器合肥教育平台网站建设
  • 教育 高校 网站模板服务器维修
  • 北京网站快速排名优化网站怎么做聚合页面
  • 站点创建成功企业徽章设计
  • 新手如何给自己的网站做优化wordpress安装谷歌分析代码
  • 建设银行上虞支行网站英文网站建设的请示怎么写
  • 苏州企业建设网站价格wordpress script
  • 网站帮助页面设计网页设计师常用网站
  • 库尔勒市建设路街道办网站湘潭做网站价格问下磐石网络
  • 有没有做海报的网站推荐广州开发区官网
  • 网络推广的网站有哪些wordpress 主题制件
  • 四川建设门户网站写作网站水平哪个最好
  • 做网站游戏需要什么免费商标设计网
  • 网站布局的三种基本方法wordpress表白主题
  • wordpress企业主题下载seo排名赚能赚钱吗
  • 用jsp做一网站的流程图桂林两江四湖夜游时间
  • wordpress开发网上商城优化大师百科
  • 网站建设上传文件无锡开发公司
  • 软件资源网站普宁市做网站
  • 汽车网站建设网腾讯广告投放平台官网
  • 免费微网站开发做网站建设个体经营小微企业
  • 往公众号里放网站怎么做做网站游戏怎么挣钱
  • 设计公司网站怎么做建设银行网站的服务管理