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用于url解码和中文解析的小脚本(python url decoder)
Aug 11 Python
python开发之str.format()用法实例分析
Feb 22 Python
深入讲解Python函数中参数的使用及默认参数的陷阱
Mar 13 Python
python 中的int()函数怎么用
Oct 17 Python
centos 安装python3.6环境并配置虚拟环境的详细教程
Feb 22 Python
Python基于xlrd模块操作Excel的方法示例
Jun 21 Python
Flask之请求钩子的实现
Dec 23 Python
通过Python实现一个简单的html页面
May 16 Python
Python3如何使用range函数替代xrange函数
Oct 05 Python
Python在centos7.6上安装python3.9的详细教程(默认python版本为2.7.5)
Oct 15 Python
python压包的概念及实例详解
Feb 17 Python
python字符串的多行输出的实例详解
Jun 08 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
ZF等常用php框架中存在的问题
2008/01/10 PHP
解析关于wamp启动是80端口被占用的问题
2013/06/21 PHP
php动态生成函数示例
2014/03/21 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
2014/05/10 PHP
微信随机生成红包金额算法php版
2016/07/21 PHP
php使用flock阻塞写入文件和非阻塞写入文件的实例讲解
2017/07/10 PHP
javascript StringBuilder类实现
2008/12/22 Javascript
firebug的一个有趣现象介绍
2011/11/30 Javascript
jQuery实现下拉框选择图片功能实例
2015/08/08 Javascript
js鼠标点击图片切换效果代码分享
2015/08/26 Javascript
解决WordPress使用CDN后博文无法评论的错误
2015/12/15 Javascript
学习javascript面向对象 实例讲解面向对象选项卡
2016/01/04 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
AngularJS 中的事件详解
2016/07/28 Javascript
bootstrap表格内容过长时用省略号表示的解决方法
2017/11/21 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
微信小程序画布圆形进度条显示效果
2020/11/17 Javascript
Bootstrap标签页(Tab)插件切换echarts不显示问题的解决
2018/07/13 Javascript
详解基于Wepy开发小程序插件(推荐)
2019/08/01 Javascript
vue实现简单学生信息管理
2020/05/30 Javascript
js+audio实现音乐播放器
2020/09/13 Javascript
[59:36]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第二场
2018/04/04 DOTA
[54:54]Newbee vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/18 DOTA
pymongo给mongodb创建索引的简单实现方法
2015/05/06 Python
Python实现生成随机数据插入mysql数据库的方法
2017/12/25 Python
python 把列表转化为字符串的方法
2018/10/23 Python
简单了解django缓存方式及配置
2019/07/19 Python
Python generator生成器和yield表达式详解
2019/08/08 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
2020/02/10 Python
python实现替换word中的关键文字(使用通配符)
2020/02/13 Python
PyTorch之nn.ReLU与F.ReLU的区别介绍
2020/06/27 Python
python 判断一组数据是否符合正态分布
2020/09/23 Python
关于box-sizing的全面理解
2016/07/28 HTML / CSS
.NET现在共支持多少种语言
2014/02/26 面试题
应届生财务管理求职信
2013/11/06 职场文书
教师自荐信范文
2015/03/06 职场文书