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 struct模块解析
Jun 12 Python
Python警察与小偷的实现之一客户端与服务端通信实例
Oct 09 Python
Python功能键的读取方法
May 28 Python
Python获取文件所在目录和文件名的方法
Jan 12 Python
python dataframe 输出结果整行显示的方法
Jun 14 Python
python中单下划线_的常见用法总结
Jul 10 Python
Django在admin后台集成TinyMCE富文本编辑器的例子
Aug 09 Python
python nmap实现端口扫描器教程
May 28 Python
python实现简单图书管理系统
Nov 22 Python
关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则)
Feb 20 Python
Python Request类源码实现方法及原理解析
Aug 17 Python
详解Python3.8+PyQt5+pyqt5-tools+Pycharm配置详细教程
Nov 02 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
支持oicq头像的留言簿(一)
2006/10/09 PHP
IIS+PHP+MySQL+Zend配置 (视频教程)
2006/12/13 PHP
php下mysql数据库操作类(改自discuz)
2010/07/03 PHP
实例讲解yii2.0在php命令行中运行的步骤
2015/12/01 PHP
passwordStrength 基于jquery的密码强度检测代码使用介绍
2011/10/08 Javascript
js的隐含参数(arguments,callee,caller)使用方法
2014/01/28 Javascript
基于javascript实现的搜索时自动提示功能
2014/12/26 Javascript
将JavaScript的jQuery库中表单转化为JSON对象的方法
2015/11/17 Javascript
JS正则截取两个字符串之间及字符串前后内容的方法
2017/01/06 Javascript
JavaScript控制输入框中只能输入中文、数字和英文的方法【基于正则实现】
2017/03/03 Javascript
原生js封装运动框架的示例讲解
2017/10/01 Javascript
seaJs使用心得之exports与module.exports的区别实例分析
2017/10/13 Javascript
node 命令方式启动修改端口的方法
2018/05/12 Javascript
vue-cli3全面配置详解
2018/11/14 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
[36:37]2014 DOTA2华西杯精英邀请赛5 24 VG VS iG
2014/05/25 DOTA
python的id()函数解密过程
2012/12/25 Python
python发送邮件实例分享
2017/07/28 Python
利用Python如何将数据写到CSV文件中
2018/06/05 Python
python实现两张图片的像素融合
2019/02/23 Python
Scrapy模拟登录赶集网的实现代码
2020/07/07 Python
通过代码简单了解django model序列化作用
2020/11/12 Python
HTML5实现桌面通知 提示功能
2017/10/11 HTML / CSS
HTML5页面嵌入小程序没有返回按钮及返回页面空白的问题
2020/05/28 HTML / CSS
阿联酋网上花店:Ferns N Petals
2018/02/14 全球购物
LINUX下线程,GDI类的解释
2016/12/14 面试题
会计专业毕业生推荐信
2013/11/05 职场文书
粗加工管理制度
2014/02/04 职场文书
募捐倡议书怎么写
2014/05/14 职场文书
绿色环保标语
2014/06/12 职场文书
优秀学生干部事迹材料
2014/12/24 职场文书
2015年社区服务活动总结
2015/03/25 职场文书
家长会开场白和结束语
2015/05/29 职场文书
一个家长教育孩子的心得体会
2016/01/15 职场文书
react中props 的使用及进行限制的方法
2021/04/28 Javascript
Python 中random 库的详细使用
2021/06/03 Python