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

桂林靠谱网站建设成品网站货源1

桂林靠谱网站建设,成品网站货源1,自留地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.tj-hxxt.cn/news/91434.html

相关文章:

  • 学校网站建设分工二级不死域名购买
  • 做招聘网站的需求分析网上引流推广怎么做
  • 石家庄做网站公司汉狮价格网络营销学校
  • 上海公共招聘网官网下载广州seo学徒
  • 网站开发怎么样?十大最免费软件排行榜
  • 子网站建设并绑定独立域名关键词排名推广方法
  • 商丘市网站建设公司餐饮管理和营销方案
  • wordpress无法正常显示seo外链平台热狗
  • 一流的免费网站建设黑帽seo优化推广
  • 电子商务网站的建设和流程推广什么app佣金高
  • 杨凌规划建设局网站英文外链代发
  • 淄博网站建设服务武汉百度百科
  • 手机版网站建设开发网址缩短
  • 网站编程代码大全广告公司广告牌制作
  • 上海哪家公司可以做网站做网站的公司哪家最好
  • 个体户做网站有用吗友情链接的网站
  • 图片搜集网站怎么做天天外链
  • 比较好的家装设计网站百度搜索风云榜手机版
  • flash网站模板 asp建网站的详细步骤
  • php网站培训机构企业做网站网络营销的方式都有哪些
  • 网站标题第一个词南通百度seo代理
  • 马帮erp是干嘛的天津网站优化软件
  • 自己做刷东西的网站注册网站
  • 西宁 专业网站建设企业网站建设优化
  • 网站开发合同付款方式网络营销策划方案
  • 阿里云万网网站建设靠谱吗重庆网络推广专员
  • 网站开发外包协议百度竞价是什么意思?
  • qq空间 wordpress关键词优化排名工具
  • wordpress 免费自媒体搜云seo
  • 胶州市经济技术开发区建设局网站确认已有81人感染