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的面向对象思想分析
Jan 14 Python
Python函数返回值实例分析
Jun 08 Python
Python的爬虫程序编写框架Scrapy入门学习教程
Jul 02 Python
给你选择Python语言实现机器学习算法的三大理由
Nov 15 Python
从django的中间件直接返回请求的方法
May 30 Python
Flask web开发处理POST请求实现(登录案例)
Jul 26 Python
Python3 实现串口两进程同时读写
Jun 12 Python
python3实现单目标粒子群算法
Nov 14 Python
基于python读取.mat文件并取出信息
Dec 16 Python
python实现异常信息堆栈输出到日志文件
Dec 26 Python
matlab中imadjust函数的作用及应用举例
Feb 27 Python
Python devel安装失败问题解决方案
Jun 09 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
dede3.1分页文字采集过滤规则详说(图文教程)续四
2007/04/03 PHP
Laravel 5 框架入门(三)
2015/04/09 PHP
PHP中加速、缓存扩展的区别和作用详解(eAccelerator、memcached、xcache、APC )
2016/07/09 PHP
XRegExp 0.2: Now With Named Capture
2007/11/30 Javascript
IE和Firefox下event事件杂谈
2009/12/18 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
Javascript无阻塞加载具体方式
2013/06/28 Javascript
js导出table到excel同时兼容FF和IE示例
2013/09/03 Javascript
Javascript学习笔记之相等符号与严格相等符号
2014/11/23 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
2015/08/28 Javascript
JavaScript实现的伸展收缩型菜单代码
2015/10/14 Javascript
基于jquery实现简单的手风琴特效
2015/11/24 Javascript
jQuery+css实现的换页标签栏效果
2016/01/27 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
2017/04/13 Javascript
jQuery实现图片上传预览效果功能完整实例【测试可用】
2018/05/28 jQuery
Vue.js实现表格渲染的方法
2018/09/07 Javascript
element el-table表格的二次封装实现(附表格高度自适应)
2021/01/19 Javascript
[08:44]和酒神一起战斗 DOTA2教你做大人
2014/03/27 DOTA
解析Python中while true的使用
2015/10/13 Python
Python用zip函数同时遍历多个迭代器示例详解
2016/11/14 Python
简单学习Python多进程Multiprocessing
2017/08/29 Python
python2 与 pyhton3的输入语句写法小结
2018/09/10 Python
python 实现分页显示从es中获取的数据方法
2018/12/26 Python
Python将list元素转存为CSV文件的实现
2020/11/16 Python
python中time、datetime模块的使用
2020/12/14 Python
Python实现自动整理文件的脚本
2020/12/17 Python
python Scrapy框架原理解析
2021/01/04 Python
松下电器美国官方商店:Panasonic美国
2016/10/14 全球购物
公司前台接待岗位职责
2013/12/03 职场文书
电脑销售顾问自荐信
2014/01/29 职场文书
2014校长四风问题对照检查材料思想汇报
2014/09/16 职场文书
幼儿园感谢信
2015/01/21 职场文书
关于成立领导小组的通知
2015/04/23 职场文书
《秦兵马俑》教学反思
2016/02/24 职场文书
教你用python控制安卓手机
2021/05/13 Python
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL