首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用python将txt文件中的数据提取到数据中?

如何使用python将txt文件中的数据提取到数据中?
EN

Stack Overflow用户
提问于 2022-11-10 15:14:26
回答 1查看 47关注 0票数 0

嗨,我想从txt文件中获取数据,以便使用python创建一个包含3列的数据。

我的文件“f”的名称列,它保存分子的名称,一个列表示“零点校正”的值,一个列表示“电子和零点能量之和”的值。

为了有这样一张桌子:

电子和零能量的分子零点修正和

。。。。。。。。。

这是我的代码:

代码语言:javascript
复制
import os
import pandas as pd
files = [f for f in os.listdir(".") if '.out' in f]
words = [' Zero-point correction', 'Sum of electronic and zero-point Energies']


for f in files:
    with open(f, 'r') as file:
          lines = file.readlines()
          for line in lines:
            for word in words:  
             if word in line:
                  a,b = line.split('=')
                 
                  print(a,b,f)

我找到了我的数据,但我不知道如何把下摆放进数据

代码语言:javascript
复制
 Zero-point correction                            0.171551 (Hartree/Particle)
 O-1.out
 Sum of electronic and zero-point Energies            -738.826005
 O-1.out

。。。.

EN

回答 1

Stack Overflow用户

发布于 2022-11-10 15:22:08

文件的数据结构是什么?

执行以下->的一种方法,但它取决于我们正在读取的文件/文件中的数据结构

代码语言:javascript
复制
import os
import pandas as pd
files = [f for f in os.listdir(".") if '.out' in f]
words = [' Zero-point correction', 'Sum of electronic and zero-point Energies']


col = words.append("file")
df = pd.DataFrame(columns= col )

for f in files:
    with open(f, 'r') as file:
          lines = file.readlines()
          for line in lines:
            for word in words:  
             if word in line:
                  a,b = line.split('=')
                 
                  print(a,b,f)
                  df.loc[len(df)] = [a,b,f]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74391250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档