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中使用bidict模块双向字典结构的奇技淫巧
Jul 12 Python
Python常用库推荐
Dec 04 Python
python增加矩阵维度的实例讲解
Apr 04 Python
python实现简易内存监控
Jun 21 Python
python爬虫之urllib3的使用示例
Jul 09 Python
Python制作简易版小工具之计算天数的实现思路
Feb 13 Python
基于Python绘制个人足迹地图
Jun 01 Python
Python实现列表中非负数保留,负数转化为指定的数值方式
Jun 04 Python
详细分析Python可变对象和不可变对象
Jul 09 Python
详解numpy1.19.4与python3.9版本冲突解决
Dec 15 Python
使用Python爬取小姐姐图片(beautifulsoup法)
Feb 11 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
PHP5中使用DOM控制XML实现代码
2010/05/07 PHP
基于php权限分配的实现代码
2013/04/28 PHP
destoon整合ucenter后注册页面不跳转的解决方法
2014/06/21 PHP
PHP使用mysqli操作MySQL数据库的简单方法
2017/02/04 PHP
YII框架关联查询操作示例
2019/04/29 PHP
Javascript实现CheckBox的全选与取消全选的代码
2010/07/20 Javascript
aspx中利用js实现确认删除代码
2010/07/22 Javascript
JavaScript中发布/订阅模式的简单实例
2014/11/05 Javascript
javascript实现按回车键切换焦点
2015/02/09 Javascript
js验证身份证号有效性并提示对应信息
2015/10/19 Javascript
JavaScript中双向数据绑定详解
2017/05/03 Javascript
JS中的三个循环小结
2017/06/20 Javascript
vue webuploader 文件上传组件开发
2017/09/23 Javascript
js中innerText/textContent和innerHTML与target和currentTarget的区别
2019/01/21 Javascript
前端开发之便利店收银系统代码
2019/12/27 Javascript
vue中 v-for循环的用法详解
2020/02/19 Javascript
matplotlib中legend位置调整解析
2017/12/19 Python
Python实现霍夫圆和椭圆变换代码详解
2018/01/12 Python
数据清洗--DataFrame中的空值处理方法
2018/07/03 Python
详解Python循环作用域与闭包
2019/03/21 Python
python3 property装饰器实现原理与用法示例
2019/05/15 Python
Tornado实现多进程/多线程的HTTP服务详解
2019/07/25 Python
Python django框架输入汉字,数字,字符生成二维码实现详解
2019/09/24 Python
Python生成验证码、计算具体日期是一年中的第几天实例代码详解
2019/10/16 Python
解决Tensorflow 使用时cpu编译不支持警告的问题
2020/02/03 Python
Python自定义聚合函数merge与transform区别详解
2020/05/26 Python
python实现自动打卡的示例代码
2020/10/10 Python
python中的split、rsplit、splitlines用法说明
2020/10/23 Python
python Gabor滤波器讲解
2020/10/26 Python
Canvas与图片压缩的示例代码
2017/11/28 HTML / CSS
荷兰电脑专场:Paradigit
2018/05/05 全球购物
Banana Republic欧盟:美国都市简约风格的代表品牌
2018/05/09 全球购物
心得体会怎么写
2013/12/30 职场文书
大学学习计划书范文
2014/05/02 职场文书
工作检讨书大全
2015/01/26 职场文书
浅谈mysql哪些情况会导致索引失效
2021/11/20 MySQL