Python-使用不同的分隔符读取数据文本文件

Lir*_*ris 2 python numpy python-3.x

我有一个文件,其中的字段由':'分隔,子字段由';'分隔,子字段中的项目由','分隔。

我想阅读Python。一段时间后,我可能可以逐行阅读它,然后拆分所有内容,但是我相信这种事情已经存在了吗?

文件的一行:

   0 :   16,  250 :  1 :  0.053 :RIG : DIS :  1 :   48, 220;  2 :   42, 241;  2 :   43, 251;  3 :   25, 266;  1 :   36, 287;  2 
Run Code Online (Sandbox Code Playgroud)

我实际上尝试过:

Dat = np.genfromtxt(path, delimiter= ':', dtype = None, skip_header = 4,  skip_footer = 5, encoding = None)
Run Code Online (Sandbox Code Playgroud)

由于某种原因,我不明白,它只给了我文件的第一列。但是,如果我更改为,则可以使用delimiter= ','

这给了我7个领域,我实际上可以拆分自己。

然后:1)您将如何读取该文件?2)为什么使用np.genfromtxt,我仅使用':'作为分隔符来获得第一列?

dl.*_*teo 5

使用熊猫的解决方案:

data = pd.read_csv('data.txt',
                   sep=";|:|,",
                   header=None,
                   engine='python')
Run Code Online (Sandbox Code Playgroud)

这会将每个值写入新列。希望这会有所帮助。