Python应用实现处理excel数据过程解析


Posted in Python onJune 19, 2020

实现功能

excel表格中有4列数,分别为RMF计算得到的 β,γ,势能面及组态,需要挑选出相同 β 值下势能面最低时的组态。为了减小数据量,先将 β 值保留两位小数。

代码

import xlrd
import xlwt

# read xls file
readfile = xlrd.open_workbook('./beta-gamma-constrain.xlsx')
readsheet = readfile.sheet_by_name('Sheet1')

beta = readsheet.col_values(0)
gamma = readsheet.col_values(1)
energy = readsheet.col_values(2)
config = readsheet.col_values(3)
'''
print(beta)
print(gamma)
print(energy)
print(config)
'''
beta_2f = [round(x, 2) for x in beta]

beta_gamma = dict(zip(beta_2f, gamma))
beta_energy = dict(zip(beta_2f, energy))
beta_config = dict(zip(beta_2f, config))

for i in range(0, len(beta_2f)):
  if energy[i] < beta_energy[beta_2f[i]]:
    beta_gamma[beta_2f[i]] = gamma[i]
    beta_energy[beta_2f[i]] = energy[i]
    beta_config[beta_2f[i]] = config[i]
  else:
    continue

print(beta_gamma)
print(beta_energy)
print(beta_config)

# write xls file
write_excl = xlwt.Workbook(encoding='utf-8')
excl_sheet = write_excl.add_sheet('Sheet1')

j = 0
for key, value in beta_gamma.items():
  excl_sheet.write(j, 0, key)
  excl_sheet.write(j, 1, value)
  excl_sheet.write(j, 2, beta_energy[key])
  excl_sheet.write(j, 3, beta_config[key])
  j = j+1

write_excl.save("xx.xls")

用到的库

xlrd,读取 excel 文件的库,可以读取 xls 和 xlsx 文件。

xlwt,写入 excel 文件的库,只能写成 xls 文件。

思路

将数据按列读出,写入 4 个列表,再组装为字典。由于字典中的 key 值是唯一的,因此该过程只是得到了 β-势能面的字典,但势能面的值不是最小的,需要遍历判断再赋值。最后将结果写入新的 excel 表格。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pymongo实现控制mongodb中数字字段做加法的方法
Mar 26 Python
python使用multiprocessing模块实现带回调函数的异步调用方法
Apr 18 Python
python查看微信好友是否删除自己
Dec 19 Python
numpy matrix和array的乘和加实例
Jun 28 Python
Python3.5局部变量与全局变量作用域实例分析
Apr 30 Python
pow在python中的含义及用法
Jul 11 Python
Python Tensor FLow简单使用方法实例详解
Jan 14 Python
在python中实现求输出1-3+5-7+9-......101的和
Apr 02 Python
Python3与fastdfs分布式文件系统如何实现交互
Jun 23 Python
python用Configobj模块读取配置文件
Sep 26 Python
pytorch 一行代码查看网络参数总量的实现
May 12 Python
python实现局部图像放大
Nov 17 Python
在tensorflow以及keras安装目录查询操作(windows下)
Jun 19 #Python
Scrapy框架介绍之Puppeteer渲染的使用
Jun 19 #Python
Python内置方法和属性应用:反射和单例(推荐)
Jun 19 #Python
Python应用实现双指数函数及拟合代码实例
Jun 19 #Python
PyQT5 实现快捷键复制表格数据的方法示例
Jun 19 #Python
如何在keras中添加自己的优化器(如adam等)
Jun 19 #Python
详解pyinstaller生成exe的闪退问题解决方案
Jun 19 #Python
You might like
一步一步学习PHP(5) 类和对象
2010/02/16 PHP
setcookie中Cannot modify header information-headers already sent by错误的解决方法详解
2013/05/08 PHP
深入php var_dump()函数的详解
2013/06/05 PHP
PHP函数引用返回的实例详解
2016/09/11 PHP
PHPCMS手机站伪静态设置详细教程
2017/02/06 PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
2019/06/12 PHP
用js实现多域名不同文件的调用方法
2007/01/12 Javascript
javascript prototype,executing,context,closure
2008/12/24 Javascript
js调用webservice中的方法实现思路及代码
2013/02/25 Javascript
jquery validate添加自定义验证规则(验证邮箱 邮政编码)
2013/12/04 Javascript
检查输入的是否是数字使用keyCode配合onkeypress事件
2014/01/23 Javascript
浅谈javascript中的instanceof和typeof
2015/02/27 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
使用Ajax生成的Excel文件并下载的实例
2016/11/21 Javascript
原生js实现可爱糖果数字时间特效
2016/12/30 Javascript
原生js实现倒计时功能(多种格式调用)
2017/01/12 Javascript
js实现简单的二级联动效果
2017/03/09 Javascript
JS中cookie的使用及缺点讲解
2017/05/13 Javascript
React中嵌套组件与被嵌套组件的通信过程
2018/07/11 Javascript
vue.js购物车添加商品组件的方法
2019/09/17 Javascript
node.js爬虫框架node-crawler初体验
2020/10/29 Javascript
JS canvas实现画板和签字板功能
2021/02/23 Javascript
[01:02:53]DOTA2上海特级锦标赛主赛事日 - 5 总决赛Liquid VS Secret第二局
2016/03/06 DOTA
Python中除法使用的注意事项
2014/08/21 Python
Queue 实现生产者消费者模型(实例讲解)
2017/11/13 Python
Python实现简易版的Web服务器(推荐)
2018/01/29 Python
CSS3,线性渐变(linear-gradient)的使用总结
2017/01/09 HTML / CSS
实习销售业务员自我鉴定
2013/09/21 职场文书
美术毕业生求职信
2014/02/25 职场文书
专业技术职务聘任书
2014/03/29 职场文书
建议书的格式
2014/05/12 职场文书
机关单位工作失职检讨书
2014/11/20 职场文书
聚会通知怎么写
2015/04/23 职场文书
2015年乡镇民政工作总结
2015/05/13 职场文书
一篇文章带你学习Mybatis-Plus(新手入门)
2021/08/02 Java/Android
MySQL运行报错:“Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre”解决方法
2022/06/14 MySQL