使用python将txt文件转换为混合分隔输出

2024-09-30 10:39:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个相当混乱的txt文件,我需要将其转换为数据帧以用作参考数据。摘录如下:

http://amdc.in2p3.fr/nubase/nubase2016.txt

我已经尽我所能把它清理干净了,但长话短说,我想用空格划出每一行的大部分,然后固定划出最后一列。i、 忽略最后一节中的空格

Cleaned Data Text File

有人能给我指出一个能做到这一点的资源的正确方向吗?不确定熊猫是否能应对这种情况

肯尼

另外,我找到了一些很好的资源来清理多个空格并替换换行符。抱歉,找不到原始参考,请参阅附件

fin = open("Input.txt", "rt")
fout = open("Ouput.txt", "wt")

for line in fin:
      fout.write(re.sub(' +', ' ', line).strip() + "\n")
fin.close()
fout.close()

Tags: 文件数据txthttpcloseline资源open
2条回答

我设法做到这一点的方法是将csv分成两部分,然后重新组合。不是特别优雅,但做了我需要的工作

Split by Column

所以我要做的很简单,我会尽可能地清理数据,然后将其转换为csv文件,因为它们很容易使用。然后,我会一步一步地将其加载到熊猫数据帧中,并根据需要进行更改

with open("NudatClean.txt") as f:
    text=f.readlines()

import csv
with open('dat.csv', 'w', newline='') as file:
    writer = csv.writer(file)
    for i in text:
        l=i.split(' ')
        row=[]
        for a in l:
            if a!='':
                row.append(a)
        print(row)
        writer.writerow(row)

这应该是工作的开始。但我不知道你到底想删除什么,所以我想剩下的应该很清楚

相关问题 更多 >

    热门问题