如何使用 python 删除 .dat 文件中行之间的空格?

问题描述

我正在处理一个只有两列的数据文件

 1 100
 2 200
 3 300
 4 400
 5 500

 6 600
 7 700
 8 800
 9 900
10 1000

11 1100
12 1200
13 1300
.
.
. 

文件.dat 格式,我使用 np.loadtxt 方法加载。我想删除随机出现的行之间的空格。我无法手动完成,因为它们太多了。所以,我想知道是否可以使用 python 中的任何方法来执行此任务。

请提出建议。
谢谢!

解决方法

最好的办法是使用具有特定配置的 pandas.read_csv()

>>> import pandas as pd
>>> df = pd.read_csv("<your_dat_file>",delimiter=" ",header=None,skipinitialspace=True)
>>> df
     0     1
0    1   100
1    2   200
2    3   300
3    4   400
4    5   500
5    6   600
6    7   700
7    8   800
8    9   900
9   10  1000
10  11  1100
11  12  1200
12  13  1300
,

我实际上认为这是一个基本的 Python 问题,因此建议:

import re

with open("data_file.txt","r") as fin,open("data_file_out.txt","w") as fout:
    for line in fin.readlines():
        if re.search(r'\S',line):
            fout.write(line)

上面生成的文件 data_file_out.txt 应包含当前文件的 sams 内容,删除空行(“空”在此处定义为没有内容或只有空白字符的行)。>