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爬虫之爬虫编写全记录
Nov 06 Python
python使用装饰器和线程限制函数执行时间的方法
Apr 18 Python
Python本地与全局命名空间用法实例
Jun 16 Python
Python内置模块ConfigParser实现配置读写功能的方法
Feb 12 Python
Python sklearn KFold 生成交叉验证数据集的方法
Dec 11 Python
对python中基于tcp协议的通信(数据传输)实例讲解
Jul 22 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
Nov 04 Python
pytorch中的卷积和池化计算方式详解
Jan 03 Python
python3+openCV 获取图片中文本区域的最小外接矩形实例
Jun 02 Python
Python爬虫爬取百度搜索内容代码实例
Jun 05 Python
微软开源最强Python自动化神器Playwright(不用写一行代码)
Jan 05 Python
pytorch 把图片数据转化成tensor的操作
Mar 04 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
服务器端解压缩zip的脚本
2006/12/22 PHP
SMARTY学习手记
2007/01/04 PHP
php获取文件大小的方法
2014/02/26 PHP
php实现mysql事务处理的方法
2014/12/25 PHP
标准版Eclipse搭建PHP环境的详细步骤
2015/11/18 PHP
PHP中抽象类、接口的区别与选择分析
2016/03/29 PHP
PHP在同一域名下两个不同的项目做独立登录机制详解
2017/09/22 PHP
Thinkphp 框架基础之源码获取、环境要求与目录结构分析
2020/04/27 PHP
简介JavaScript中的sub()方法的使用
2015/06/08 Javascript
JS实现图片高亮展示效果实例
2015/11/24 Javascript
jQuery中serializeArray()与serialize()的区别实例分析
2015/12/09 Javascript
Javascript中数组去重与拍平的方法示例
2017/02/03 Javascript
Bootstrap模态框使用详解
2017/02/15 Javascript
NodeJS仿WebApi路由示例
2017/02/28 NodeJs
JS简单生成由字母数字组合随机字符串示例
2018/05/25 Javascript
解决Js先触发失去焦点事件再执行点击事件的问题
2018/08/30 Javascript
nodejs微信开发之接入指南
2019/03/17 NodeJs
vue权限问题的完美解决方案
2019/05/08 Javascript
layui 富文本图片上传接口与普通按钮 文件上传接口的例子
2019/09/23 Javascript
[58:58]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第二场
2018/04/05 DOTA
[00:19]CN DOTA NEVER DIE!VG夺冠rOtK接受采访
2019/12/23 DOTA
python基础教程之分支、循环简单用法
2016/06/16 Python
Python微信库:itchat的用法详解
2017/08/14 Python
基于python的图片修复程序(实现水印去除)
2018/06/04 Python
python 两个一样的字符串用==结果为false问题的解决
2020/03/12 Python
Python任务调度利器之APScheduler详解
2020/04/02 Python
在Ubuntu 20.04中安装Pycharm 2020.1的图文教程
2020/04/30 Python
html5与css3小应用
2013/04/03 HTML / CSS
用html5的canvas画布绘制贝塞尔曲线完整代码
2013/08/14 HTML / CSS
Booking.com美国:全球酒店预订网站
2017/04/18 全球购物
描述一下JVM加载class文件的原理机制
2013/12/08 面试题
《小鹰学飞》教学反思
2014/04/23 职场文书
管理提升方案
2014/06/04 职场文书
运动会广播稿诗歌版
2014/09/12 职场文书
幼儿园家长心得体会
2016/01/21 职场文书
Python Matplotlib绘制等高线图与渐变色扇形图
2022/04/14 Python