实现功能


excel表格中有4列数,分别为RMF计算得到的 β,γ,势能面及组态,需要挑选出相同 β 值下势能面最低时的组态。为了减小数据量,先将 β 值保留两位小数。

代码


  1. import xlrd
  2. import xlwt
  3.  
  4. # read xls file
  5. readfile = xlrd.open_workbook('./beta-gamma-constrain.xlsx')
  6. readsheet = readfile.sheet_by_name('Sheet1')
  7.  
  8. beta = readsheet.col_values(0)
  9. gamma = readsheet.col_values(1)
  10. energy = readsheet.col_values(2)
  11. config = readsheet.col_values(3)
  12. '''
  13. print(beta)
  14. print(gamma)
  15. print(energy)
  16. print(config)
  17. '''
  18. beta_2f = [round(x, 2) for x in beta]
  19.  
  20. beta_gamma = dict(zip(beta_2f, gamma))
  21. beta_energy = dict(zip(beta_2f, energy))
  22. beta_config = dict(zip(beta_2f, config))
  23.  
  24. for i in range(0, len(beta_2f)):
  25. if energy[i] < beta_energy[beta_2f[i]]:
  26. beta_gamma[beta_2f[i]] = gamma[i]
  27. beta_energy[beta_2f[i]] = energy[i]
  28. beta_config[beta_2f[i]] = config[i]
  29. else:
  30. continue
  31.  
  32. print(beta_gamma)
  33. print(beta_energy)
  34. print(beta_config)
  35.  
  36. # write xls file
  37. write_excl = xlwt.Workbook(encoding='utf-8')
  38. excl_sheet = write_excl.add_sheet('Sheet1')
  39.  
  40. j = 0
  41. for key, value in beta_gamma.items():
  42. excl_sheet.write(j, 0, key)
  43. excl_sheet.write(j, 1, value)
  44. excl_sheet.write(j, 2, beta_energy[key])
  45. excl_sheet.write(j, 3, beta_config[key])
  46. j = j+1
  47.  
  48. write_excl.save("xx.xls")

用到的库

  • xlrd,读取 excel 文件的库,可以读取 xls 和 xlsx 文件。
  • xlwt,写入 excel 文件的库,只能写成 xls 文件。

思路

将数据按列读出,写入 4 个列表,再组装为字典。由于字典中的 key 值是唯一的,因此该过程只是得到了 β-势能面的字典,但势能面的值不是最小的,需要遍历判断再赋值。最后将结果写入新的 excel 表格。

python应用 处理excel数据的更多相关文章

  1. Delphi中使用python脚本读取Excel数据

    Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...

  2. 用python实现简单EXCEL数据统计的实例

    用python实现简单EXCEL数据统计的实例 下面小编就为大家带来一篇用python实现简单EXCEL数据统计的实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 任 ...

  3. 数据测试001:利用python连接数据库插入excel数据

    数据测试001:利用python连接数据库插入excel数据 最近在做数据测试,主要是做报表系统,需要往数据库插入数据验证服务逻辑,本次介绍如何利用python脚本插入Oracle和Mysql库中: ...

  4. 用 python实现简单EXCEL数据统计

    任务: 用python时间简单的统计任务-统计男性和女性分别有多少人. 用到的物料:xlrd 它的作用-读取excel表数据 代码: import xlrd workbook = xlrd.open_ ...

  5. python selenium中Excel数据维护(二)

    接着python里面的xlrd模块详解(一)中我们我们来举一个实例: 我们来举一个从Excel中读取账号和密码的例子并调用: ♦1.制作Excel我们要对以上输入的用户名和密码进行参数化,使得这些数据 ...

  6. python selenium中Excel数据维护(二)

    接着python里面的xlrd模块详解(一)中我们我们来举一个实例: 我们来举一个从Excel中读取账号和密码的例子并调用: ♦1.制作Excel我们要对以上输入的用户名和密码进行参数化,使得这些数据 ...

  7. python中操作excel数据 封装成一个类

    本文用python中openpyxl库,封装成excel数据的读写方法 from openpyxl import load_workbook from openpyxl.worksheet.works ...

  8. python中操作excel数据

    python操作excel,python有提供库 本文介绍openpyxl,他只支持新型的excell( xlsx)格式,读取速度还可以 1.安装 pip install openpyxl 2.使用 ...

  9. 使用python,将excel数据批量导入数据库

    这是上一篇文章的优化版本,相较于一条一条的执行sql语句,本文中,将excel中所有的数据先写到list列表中 在通过函数 cursor.executemany(sql, list) 一次性写入到数据 ...

  10. python实现对excel数据进行修改/添加

    import osimport xlrdfrom xlutils.copy import copydef base_dir(filename=None): return os.path.join(os ...

随机推荐

  1. JVM初探(三):类加载机制

    一.概述 我们知道java代码会被编译为.class文件,这里class文件中的类信息最终还是需要jvm加载以后才能使用. 事实上,虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验,转 ...

  2. web新手第二周知识汇总

    这周学习了盒模型以及一些定位的知识,现在简单做下汇总 盒模型组成部分: ie浏览器默认值是border-box content(内容盒)蓝色 padding(内容和边框的距离 绿色 填充盒包含内容)b ...

  3. C#LeetCode刷题之#349-两个数组的交集(Intersection of Two Arrays)

    问题 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/4042 访问. 给定两个数组,编写一个函数来计算它们的交集. 输入 ...

  4. Butterfly侧边栏引入一言

    此教程涉及修改源码 背景 在修改每页显示7篇文章后,出现了这种情况. 这是完美主义(强迫症)的我所不能忍受的,有什么可以占据这里的呢?{% btn 'https://hitokoto.cn/',一言, ...

  5. 三张图理解JavaScript原型链

  6. 谈谈BUG严重级别(severity)管理

    在软件工程理论中,BUG严重级别(severity)是用于指示软件质量问题导致的负面影响的程度.但在大部分实际的软件开发组织中,对BUG严重级别(severity)的定义和使用常常充斥着大量的争议和分 ...

  7. magento paypal测试配置

    1.登录https://developer.paypal.com 2.在https://developer.paypal.com/developer/accounts/中创建

  8. golang 三个点 '...' 的用法

    package main import "fmt" func main(){ fmt.Println("Hello, World!") aaa := []str ...

  9. ubuntu apt 相关命令

    sudo apt-get update  更新源sudo apt-get install package 安装包sudo apt-get remove package 删除包sudo apt-cach ...

  10. Python 源代码代码打包成 whl 文件

    1.检查 python setup.py check 2.打包 python setup.py sdist bdist_wheel || true