繁体   English   中英

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

[英]How to remove space between rows in .dat files using python?

我正在处理一个数据文件,它只有两列:

 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 内容作为您的当前文件,删除空行(“空”在这里定义为没有内容或只有空白字符的行)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM