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 相关文章推荐
python在Windows下安装setuptools(easy_install工具)步骤详解
Jul 01 Python
Python cookbook(数据结构与算法)将序列分解为单独变量的方法
Feb 13 Python
python2.6.6如何升级到python2.7.14
Apr 08 Python
PyQt弹出式对话框的常用方法及标准按钮类型
Feb 27 Python
python利用多种方式来统计词频(单词个数)
May 27 Python
python 反编译exe文件为py文件的实例代码
Jun 27 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
Aug 09 Python
Python处理mysql特殊字符的问题
Mar 02 Python
Python random库使用方法及异常处理方案
Mar 02 Python
python实现凯撒密码、凯撒加解密算法
Jun 11 Python
Python 使用生成器代替线程的方法
Aug 04 Python
python压包的概念及实例详解
Feb 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 变量未定义等错误的解决方法
2011/01/12 PHP
在Debian系统下配置LNMP的教程
2015/07/09 PHP
PHP预定义接口――Iterator用法示例
2020/06/05 PHP
PHP实现简单的计算器
2020/08/28 PHP
对xmlHttp对象方法和属性的理解
2011/01/17 Javascript
关于jQuery新的事件绑定机制on()的使用技巧
2013/04/26 Javascript
9行javascript代码获取QQ群成员具体实现
2013/10/16 Javascript
JQ获取动态加载的图片大小的正确方法分享
2013/11/08 Javascript
ie浏览器使用js导出网页到excel并打印
2014/03/11 Javascript
javascript函数自动执行常用方法汇总
2016/03/28 Javascript
Node.js 中使用 async 函数的方法
2017/11/20 Javascript
用Fundebug插件记录网络请求异常的方法
2019/02/21 Javascript
vue项目打包后怎样优雅的解决跨域
2019/05/26 Javascript
JS实现网站吸顶条
2020/01/08 Javascript
vue实现移动端返回顶部
2020/10/12 Javascript
在vue中动态修改css其中一个属性值操作
2020/12/07 Vue.js
[01:31:02]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第一场
2019/08/22 DOTA
Python中让MySQL查询结果返回字典类型的方法
2014/08/22 Python
Python两个内置函数 locals 和globals(学习笔记)
2016/08/28 Python
django表单实现下拉框的示例讲解
2018/05/29 Python
对PyQt5基本窗口控件 QMainWindow的使用详解
2019/06/19 Python
python实现共轭梯度法
2019/07/03 Python
Django的models模型的具体使用
2019/07/15 Python
flask/django 动态查询表结构相同表名不同数据的Model实现方法
2019/08/29 Python
OpenCV里的imshow()和Matplotlib.pyplot的imshow()的实现
2019/11/25 Python
python按照list中字典的某key去重的示例代码
2020/10/13 Python
英国最大的奢侈品零售网络商城:Flannels
2016/09/16 全球购物
大学生党课思想汇报
2013/12/29 职场文书
计算机毕业生求职信
2014/06/10 职场文书
个人投资合作协议书
2014/10/12 职场文书
在职人员跳槽求职信
2015/03/20 职场文书
2015年银行客户经理工作总结
2015/04/01 职场文书
《将心比心》教学反思
2016/02/23 职场文书
MySQL Router实现MySQL的读写分离的方法
2021/05/27 MySQL
Python按顺序遍历并读取文件夹中文件
2022/04/29 Python
MyBatis核心源码深度剖析SQL语句执行过程
2022/05/20 Java/Android