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使用django获取用户IP地址的方法
May 11 Python
详解Python3中yield生成器的用法
Aug 20 Python
如何将python中的List转化成dictionary
Aug 15 Python
Python中文分词工具之结巴分词用法实例总结【经典案例】
Apr 15 Python
Python调用微信公众平台接口操作示例
Jul 08 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
Aug 08 Python
python字符串和常用数据结构知识总结
May 21 Python
python pillow模块使用方法详解
Aug 30 Python
Python3显示当前时间、计算时间差及时间加减法示例代码
Sep 07 Python
Django模板导入母版继承和自定义返回Html片段过程解析
Sep 18 Python
python实现一个猜拳游戏
Apr 05 Python
python使用多线程查询数据库的实现示例
Aug 17 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
杏林同学录(四)
2006/10/09 PHP
php上传、管理照片示例
2006/10/09 PHP
php GeoIP的使用教程
2011/03/09 PHP
php使用标签替换的方式生成静态页面
2015/05/21 PHP
php 使用curl模拟ip和来源进行访问的实现方法
2017/05/02 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
JQuery 常用方法和事件详细介绍
2013/04/18 Javascript
扩展JS Date对象时间格式化功能的小例子
2013/12/02 Javascript
JavaScript开发人员的10个关键习惯小结
2014/12/05 Javascript
js实现类似菜单风格的TAB选项卡效果代码
2015/08/28 Javascript
Bootstrap 组件之按钮(二)
2016/05/11 Javascript
深入理解 JavaScript 中的 JSON
2017/04/06 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
详解小程序输入框闪烁及重影BUG解决方案
2018/08/31 Javascript
vue最简单的前后端交互示例详解
2018/10/11 Javascript
详解vue中v-model和v-bind绑定数据的异同
2020/08/10 Javascript
python使用mysqldb连接数据库操作方法示例详解
2013/12/03 Python
Windows下用py2exe将Python程序打包成exe程序的教程
2015/04/08 Python
Python-ElasticSearch搜索查询的讲解
2019/02/25 Python
python3转换code128条形码的方法
2019/04/17 Python
Python安装与卸载流程详细步骤(图解)
2020/02/20 Python
python打包多类型文件的操作方法
2020/09/21 Python
Python3.9.0 a1安装pygame出错解决全过程(小结)
2021/02/02 Python
澳大利亚家用电器在线商店:Billy Guyatts
2020/05/05 全球购物
高一自我鉴定
2013/12/17 职场文书
党员干部承诺书
2014/03/25 职场文书
养牛场项目建议书
2014/05/13 职场文书
农村党员一句话承诺
2014/05/30 职场文书
大二学年个人总结
2015/03/03 职场文书
校长师德表现自我评价
2015/03/05 职场文书
关于做家务的心得体会
2016/01/23 职场文书
Python基础 括号()[]{}的详解
2021/11/07 Python
详解Flutter网络请求Dio库的使用及封装
2022/04/14 Java/Android
nginx配置指令之server_name的具体使用
2022/08/14 Servers
vue实现简易音乐播放器
2022/08/14 Vue.js