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 正则表达式操作指南
May 04 Python
重命名批处理python脚本
Apr 05 Python
从Python程序中访问Java类的简单示例
Apr 20 Python
Python素数检测的方法
May 11 Python
Python生成随机密码的方法
Jun 16 Python
python学生管理系统
Jan 30 Python
django-rest-framework 自定义swagger过程详解
Jul 18 Python
Python的互斥锁与信号量详解
Sep 12 Python
wxpython多线程防假死与线程间传递消息实例详解
Dec 13 Python
Python如何访问字符串中的值
Feb 09 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
Jun 24 Python
pyspark对Mysql数据库进行读写的实现
Dec 30 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
Access数据库导入Mysql的方法之一
2006/10/09 PHP
Yii2框架BootStrap样式的深入理解
2016/11/07 PHP
Yii CDBCriteria常用方法实例小结
2017/01/19 PHP
Aster vs KG BO3 第一场2.19
2021/03/10 DOTA
javascript中setTimeout和setInterval的unref()和ref()用法示例
2014/11/26 Javascript
CSS中position属性之fixed实现div居中
2015/12/14 Javascript
jQuery Easyui使用(一)之可折叠面板的布局手风琴菜单
2016/08/17 Javascript
javascript宿主对象之window.navigator详解
2016/09/07 Javascript
jQuery Mobile和HTML5开发App推广注册页
2016/11/07 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
正则验证小数点后面只能有两位数的方法
2017/02/28 Javascript
JS简单实现数组去重的方法示例
2017/03/27 Javascript
jQuery事件_动力节点Java学院整理
2017/07/05 jQuery
VUE axios上传图片到七牛的实例代码
2017/07/28 Javascript
JS实现中英文混合文字溢出友好截取功能
2018/08/06 Javascript
JavaScript如何处理移动端拍摄图片旋转问题
2019/11/16 Javascript
jquery绑定事件 bind和on的用法与区别分析
2020/05/22 jQuery
vue addRoutes路由动态加载操作
2020/08/04 Javascript
微信小程序实现登录注册功能
2020/12/29 Javascript
[06:01]刀塔次级联赛top10第一期
2014/11/07 DOTA
Python AES加密模块用法分析
2017/05/22 Python
使用python 写一个静态服务(实战)
2019/06/28 Python
使用Python的Turtle绘制哆啦A梦实例
2019/11/21 Python
Tensorflow读取并输出已保存模型的权重数值方式
2020/01/04 Python
对pytorch的函数中的group参数的作用介绍
2020/02/18 Python
python GUI库图形界面开发之PyQt5表单布局控件QFormLayout详细使用方法与实例
2020/03/06 Python
Python3监控windows,linux系统的CPU、硬盘、内存使用率和各个端口的开启情况详细代码实例
2020/03/18 Python
HTML5中的autofocus(自动聚焦)属性介绍
2014/04/23 HTML / CSS
Skyscanner英国:苏格兰的全球三大领先航班搜索服务之一
2017/11/09 全球购物
Java面试题汇总
2015/12/06 面试题
简单通用的简历自我评价
2014/09/21 职场文书
开展党的群众路线教育实践活动总结报告
2014/10/31 职场文书
政协委员个人总结
2015/03/03 职场文书
2016年师德学习心得体会
2016/01/12 职场文书
Pytorch中Softmax与LogSigmoid的对比分析
2021/06/05 Python
Vue3.0写自定义指令的简单步骤记录
2021/06/27 Vue.js