我无法去除格式错误 - Python
背景介绍一下:我现在正在处理一些超过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 个回答
暂无回答