我无法去除格式错误 - Python

0 投票
0 回答
55 浏览
提问于 2025-04-12 09:51

背景介绍一下:我现在正在处理一些超过30,000行的数据文件。奇怪的是,在我当前的文件中,总是会出现一个格式错误:

^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@ 3.352388740E-05 1.956399032E+00 5.330716152E+09

而正常的行应该是这样的:

 3.352202475E-05  1.956847538E+00  5.329098588E+09
 3.351643682E-05  1.957293472E+00  5.327447942E+09
 3.351271152E-05  1.957742024E+00  5.325773881E+09

这个问题在后续分析中就出现了,因为我想把分开的行转换成浮点数,但显然无法把'^@'转换成浮点数。

在我写入这些行的脚本中,我尝试了各种方法来去掉这个^@字符串。我最后一次尝试是:

def clean_file(new_file): 

    new_file_path = Path(new_file)
    lines = []
    with new_file_path.open('r') as f:
        lines = f.readlines()

    with new_file_path.open('w') as file:
        for number, line in enumerate(lines):
            if number not in [7] and not line.startswith('^@'): 
                file.write(line)

这里用7是因为第7行是数据开始的地方,前面有几行是标题。我也试过用line.replace('^@',''),但也没成功。我在写文件的时候没有遇到任何问题,但无论我怎么尝试,这串^@字符就是去不掉。

那么,什么方法最适合解决这个错误呢?无论是去掉错误还是直接删除整行都可以。

0 个回答

暂无回答

撰写回答