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

桂林建设网站企业培训课程价格

桂林建设网站,企业培训课程价格,ppt模板免费下载简约,腾讯企点下载安装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.ds6.com.cn/news/21417.html

相关文章:

  • 一个域名绑定多个网站吗长沙seo网络推广
  • 国内经典网站搜索引擎营销简称为
  • 做商城网站哪里好网站搜索排名优化怎么做
  • 现在哪个网站做网站好南京seo推广公司
  • 网站上传到虚拟主机seo优化排名营销
  • wordpress自定义页百度关键词优化软件排名
  • 网上购物网站建设论文6阿里云建站
  • wordpress mysql数据库备份网站seo
  • 网站后台内容不更新10条重大新闻
  • 苹果网站模版数据分析师一般一个月多少钱
  • 宣威做网站建设的公司百度软件应用中心
  • 工厂弄个网站做外贸如何培训心得体会感悟
  • 合肥手机网站开发网络搜索词排名
  • 网页设计作业选材苏州seo排名公司
  • 微信网站是多少惠州seo关键字优化
  • 电梯网站建设企业网站的作用有哪些
  • 建设部标准规范网站优秀的软文广告案例
  • 做网站找个人流量精灵官网
  • 鹰潭手机网站建设视频广告
  • 网站更新要怎么做深圳企业黄页网
  • 网站建设的基本术语百度推广代理商与总公司的区别
  • 中山市哪家公司做网站站长友情链接平台
  • 湖南网站推广建设公司亚马逊查关键词搜索量的工具
  • 网站建设入门书籍seo网站有哪些
  • 织梦做英文网站出现乱码关键词分为哪三类
  • 做单页免费模板网站seo门户网价格是多少钱
  • 新闻资讯型网站开发汽车品牌推广策划方案
  • 个人做网站最方便的方法网站优化方案案例
  • 建高级网站腾讯企业qq
  • 福州 网站建设自己有域名怎么建网站