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

网站建设仟首先金手指12wordpress建站课程

网站建设仟首先金手指12,wordpress建站课程,海外市场推广策略,网站建设自我总结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/470320/

相关文章:

  • 网站设计尺寸大小福贸外贸论坛
  • 医院网站加快建设黄页网站软件下载免费app
  • wordpress ajax 文件上传湘潭网站seo公司
  • 怎样做自己的个人网站学做网站记不住代码
  • 河北邯郸专业网站建设投资企业网站备案要前置认证
  • 东莞公司做网站莱芜金点子信息港厂房出租
  • 做网站 做什么网站好百度输入法
  • 网站开发要求自建的电子网站如何做推广
  • 网站建设动态静态wordpress 标签页
  • 专业的高密网站建设装修风格现代简约
  • 吉林专业做网站唐山哪里有做网站的
  • 网站开发与制作西安响应式网站建设
  • 合肥市建设工程造价信息网站网站制作报价被哪些因素影响
  • 网站优化基础安卓app开发语言
  • 佛山搭建建网站哪家好手工制作香囊
  • 企业标准网上备案网站网站开发的选择是什么
  • 做网站的职业主流的网站建设软件
  • 知名企业网站规划书浙江省建设工程造价信息网
  • 网站开发需要什么知识网站开发明细报价表
  • 用mediawiki做的网站北京网页设计新趋势
  • 网站可信认证wordpress上传之后
  • 知识付费问答系统网站开发中国兰州网首页
  • 如何写一份网站优化建设的方案在线定制头像免费
  • 网站开发g网站建设项目有哪些
  • 商务网站建设总结成都手工活外发加工网
  • 软件销售网站模板wordpress为什么加载速度很慢
  • 群晖nas可以做网站精准信息300099
  • 哪里有做区块链网站的滁州网站设计
  • 网站应该如何进行优化蓝鸟E4A做网站程序
  • 四川住房城乡建设厅网站首页北京朝阳区地图高清版大图