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采用socket模拟TCP通讯的实现方法
Nov 19 Python
详解Python设计模式编程中观察者模式与策略模式的运用
Mar 02 Python
Python 提取dict转换为xml/json/table并输出的实现代码
Aug 28 Python
win10下tensorflow和matplotlib安装教程
Sep 19 Python
对python:print打印时加u的含义详解
Dec 15 Python
解决python线程卡死的问题
Feb 18 Python
python利用Opencv实现人脸识别功能
Apr 25 Python
利用Python进行图像的加法,图像混合(附代码)
Jul 14 Python
python装饰器练习题及答案
Nov 01 Python
python如何随机生成高强度密码
Aug 19 Python
numpy数据类型dtype转换实现
Apr 24 Python
在python中读取和写入CSV文件详情
Jun 28 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&amp;mysql(六)
2006/10/09 PHP
PHP 导出Excel示例分享
2014/08/18 PHP
支付宝服务窗API接口开发php版本
2016/07/20 PHP
jquery退出each循环的写法
2014/02/26 Javascript
Javascript控制input输入时间格式的方法
2015/01/28 Javascript
浅析JavaScript中的变量复制、参数传递和作用域链
2016/01/13 Javascript
微信小程序的分类页面制作
2017/06/27 Javascript
JS自定义函数实现时间戳转换成date的方法示例
2017/08/27 Javascript
浅谈react.js中实现tab吸顶效果的问题
2017/09/06 Javascript
通过实例学习React中事件节流防抖
2019/06/17 Javascript
layui问题之自动滚动二级iframe页面到指定位置的方法
2019/09/18 Javascript
js中apply和call的理解与使用方法
2019/11/27 Javascript
Javascript实现html转pdf高清版(提高分辨率)
2020/02/19 Javascript
解决vue单页面多个组件嵌套监听浏览器窗口变化问题
2020/07/30 Javascript
举例详解Python中循环语句的嵌套使用
2015/05/14 Python
Python实现遍历数据库并获取key的值
2015/05/17 Python
Python使用multiprocessing创建进程的方法
2015/06/04 Python
Python安装官方whl包和tar.gz包的方法(推荐)
2017/06/04 Python
Python基于回溯法子集树模板解决马踏棋盘问题示例
2017/09/11 Python
python保存数据到本地文件的方法
2018/06/23 Python
python中实现字符串翻转的方法
2018/07/11 Python
python使用thrift教程的方法示例
2019/03/21 Python
python实现AES和RSA加解密的方法
2019/03/28 Python
实例讲解Python 迭代器与生成器
2020/07/08 Python
如何用Python绘制3D柱形图
2020/09/16 Python
Pycharm-community-2020.2.3 社区版安装教程图文详解
2020/12/08 Python
CSS3毛玻璃效果(blur)有白边问题的解决方法
2016/11/15 HTML / CSS
秘书岗位职责
2013/11/18 职场文书
yy婚礼司仪主持词
2014/03/14 职场文书
目标管理责任书
2014/04/15 职场文书
活动总结书怎么写
2015/05/11 职场文书
《乘法分配律》教学反思
2016/02/24 职场文书
2016年优秀团支部事迹材料
2016/02/26 职场文书
简单聊聊Golang中defer预计算参数
2022/03/25 Golang
vue cli4中mockjs在dev环境和build环境的配置详情
2022/04/06 Vue.js
Python通用验证码识别OCR库ddddocr的安装使用教程
2022/07/07 Python