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目录操作之python遍历文件夹后将结果存储为xml
Jan 27 Python
Python logging模块学习笔记
May 24 Python
Python的requests网络编程包使用教程
Jul 11 Python
使用Python的Scrapy框架十分钟爬取美女图
Dec 26 Python
浅谈python实现Google翻译PDF,解决换行的问题
Nov 28 Python
python实现弹跳小球
May 13 Python
Python中利用LSTM模型进行时间序列预测分析的实现
Jul 26 Python
python gdal安装与简单使用
Aug 01 Python
8段用于数据清洗Python代码(小结)
Oct 31 Python
tensorflow 实现打印pb模型的所有节点
Jan 23 Python
django的403/404/500错误自定义页面的配置方式
May 21 Python
matplotlib 多个图像共用一个colorbar的实现示例
Sep 10 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
PHP中读写文件实现代码
2011/10/20 PHP
php的闭包(Closure)匿名函数初探
2016/02/14 PHP
PHP框架实现WebSocket在线聊天通讯系统
2019/11/21 PHP
PHP类的自动加载与命名空间用法实例分析
2020/06/05 PHP
jquery实现文本框鼠标右击无效以及不能输入的代码
2010/11/05 Javascript
通过Jscript中@cc_on 语句识别IE浏览器及版本的代码
2011/05/07 Javascript
IE6、IE7中获取Button元素的值的bug说明
2011/08/28 Javascript
jQuery旋转插件—rotate支持(ie/Firefox/SafariOpera/Chrome)
2013/01/16 Javascript
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
Linux下使用jq友好的打印JSON技巧分享
2014/11/18 Javascript
Bootstrap中CSS的使用方法
2016/02/17 Javascript
jQuery实现滚动条滚动到子元素位置(方便定位)
2017/01/08 Javascript
Bootstrap表单制作代码
2017/03/17 Javascript
利用PM2部署node.js项目的方法教程
2017/05/10 Javascript
手把手搭建安装基于windows的Vue.js运行环境
2017/06/12 Javascript
使用AngularJS编写多选按钮选中时触发指定方法的指令代码详解
2017/07/24 Javascript
react-router4 嵌套路由的使用方法
2017/07/24 Javascript
浅谈Angular 中何时取消订阅
2017/11/22 Javascript
angular2 ng2-file-upload上传示例代码
2018/08/23 Javascript
只有 20 行的 JavaScript 模板引擎实例详解
2020/05/11 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
2020/07/20 Javascript
Vue如何跨组件传递Slot的实现
2020/12/14 Vue.js
在Python中通过threading模块定义和调用线程的方法
2016/07/12 Python
python 开发的三种运行模式详细介绍
2017/01/18 Python
Python实现上下班抢个顺风单脚本
2018/02/07 Python
Python基础之字符串操作常用函数集合
2020/02/09 Python
苹果香港官方商城:Apple香港
2016/09/14 全球购物
Myprotein法国官网:欧洲第一运动营养品牌
2019/03/26 全球购物
党支部组织生活会整改方案
2014/09/30 职场文书
单位作风建设剖析材料
2014/10/11 职场文书
经典搞笑版检讨书
2015/02/19 职场文书
红与黑读书笔记
2015/06/29 职场文书
奶茶店的创业计划书该怎么写?
2019/07/15 职场文书
Python编写nmap扫描工具
2021/07/21 Python
java中用float时,数字后面加f,这样是为什么你知道吗
2021/09/04 Java/Android
Windows和Linux上部署Golang并运行程序
2022/04/22 Servers