我有一个文件,其中字段用“:”分隔,子字段用“;”分隔,子字段内的项目用“,”分隔。

我想读它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

我实际上尝试过:
Dat = np.genfromtxt(path, delimiter= ':', dtype = None, skip_header = 4,  skip_footer = 5, encoding = None)

出于我不明白的原因,它只返回文件的第一列。但是,如果我更改为 delimiter= ',' ,它会起作用。

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

然后:
1)你会如何阅读该文件?
2) 使用 np.genfromtxt,为什么我只获得第一列使用 ':' 作为分隔符?

最佳答案

使用 Pandas 的解决方案:

data = pd.read_csv('data.txt',
                   sep=";|:|,",
                   header=None,
                   engine='python')

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

关于Python - 读取具有不同分隔符的数据文本文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51195299/

10-14 19:20
查看更多