Python应用实现处理excel数据过程解析

作者:kurrrr 时间:2022-10-24 11:52:17 

实现功能

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 表格。

来源:https://www.cnblogs.com/kurrrr/p/13124924.html

标签:python,处理,excel,数据
0
投稿

猜你喜欢

  • Python httplib,smtplib使用方法

    2021-12-23 04:34:29
  • python生成日历实例解析

    2023-05-16 12:47:31
  • BOF、EOF 属性

    2009-05-11 12:37:00
  • 使用Python从有道词典网页获取单词翻译

    2022-12-10 21:18:03
  • 详解Bootstrap按钮

    2023-07-02 05:24:44
  • NaviCat连接时提示"不支持远程连接的MySql数据库"解决方法

    2024-01-24 17:03:54
  • centos6.4下python3.6.1安装教程

    2021-11-03 05:44:03
  • mysql error 1071: 创建唯一索引时字段长度限制的问题

    2024-01-12 16:32:20
  • python借助ChatGPT读取.env实现文件配置隔离保障私有数据安全

    2022-12-26 17:54:13
  • python pandas dataframe 去重函数的具体使用

    2023-10-15 00:56:36
  • 关于Python中的main方法教程

    2021-12-30 08:31:37
  • Python Pandas list列表数据列拆分成多行的方法实现

    2021-04-20 18:56:01
  • Javascirpt打造“互动指针”特效

    2013-08-06 07:37:52
  • asp如何在线查询本地机的文件?

    2010-06-22 21:19:00
  • python Django框架快速入门教程(后台管理)

    2022-04-17 11:43:12
  • 关于python写入文件自动换行的问题

    2021-09-01 00:03:13
  • Django如何将URL映射到视图

    2021-11-21 14:28:41
  • Python对接支付宝支付自实现功能

    2023-09-19 13:57:51
  • python实现银行管理系统

    2021-07-09 00:33:49
  • Python处理CSV与List的转换方法

    2021-11-22 11:53:48
  • asp之家 网络编程 m.aspxhome.com