使用 python 将 txt 文件转换为混合分隔输出
Convert txt file to mixed delimited output using python
我有一个相当混乱的 txt 文件,我需要将其转换为数据框以用作参考数据。摘录如下:
http://amdc.in2p3.fr/nubase/nubase2016.txt
我已经尽我所能清理了它,但长话短说,我想 space 分隔每行的大部分内容,然后修复最后一列的分隔符。即忽略最后一节中的 spaces。
任何人都可以指出可以做到这一点的资源的正确方向吗?不确定 Pandas 是否能解决这个问题?
肯尼
P.S。我找到了一些很好的资源来清理多个 whitespaces 并替换换行符。抱歉找不到原参考,所以见附件。
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()
所以我要做的很简单,我会尽可能清理数据,然后将其转换为csv文件,因为它们很容易使用。然后我会逐步将其加载到 pandas 数据帧中,并根据需要进行更改。
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)
这应该是开始的工作。但我不知道你到底想删除什么,所以我认为剩下的应该很清楚了。
我设法做到这一点的方法是将 csv 分成两部分,然后重新组合。不是特别优雅,但完成了我需要的工作。
Split by Column
我有一个相当混乱的 txt 文件,我需要将其转换为数据框以用作参考数据。摘录如下:
http://amdc.in2p3.fr/nubase/nubase2016.txt
我已经尽我所能清理了它,但长话短说,我想 space 分隔每行的大部分内容,然后修复最后一列的分隔符。即忽略最后一节中的 spaces。
任何人都可以指出可以做到这一点的资源的正确方向吗?不确定 Pandas 是否能解决这个问题?
肯尼
P.S。我找到了一些很好的资源来清理多个 whitespaces 并替换换行符。抱歉找不到原参考,所以见附件。
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()
所以我要做的很简单,我会尽可能清理数据,然后将其转换为csv文件,因为它们很容易使用。然后我会逐步将其加载到 pandas 数据帧中,并根据需要进行更改。
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)
这应该是开始的工作。但我不知道你到底想删除什么,所以我认为剩下的应该很清楚了。
我设法做到这一点的方法是将 csv 分成两部分,然后重新组合。不是特别优雅,但完成了我需要的工作。
Split by Column