我的文件有362000个32位浮点数,1000行乘362列,这意味着前362个浮点数对应于第1行,接下来的362个浮点数是第2行,依此类推。在q中有没有办法把它读成一张表?
-Thanks。
答案 0 :(得分:1)
1:命令可用于读取二进制文件并将其格式化为kdb
reals: (enlist 4;enlist"e') 1: `:fp32file
您可能需要根据字节顺序进行一些调整,请参阅https://code.kx.com/q/ref/filenumbers/#1-binary-files
这将为您提供所有362000 32位浮点数的列表。为了把它变成一张桌子,
colNames: `$"col",/:string til 362 / or whatever your column names are
reals: flip 362 cut raze reals / turn list into a 362x1000 array
flip colNames!reals / create a dictionary, convert to table
编辑:实际上,您可以指定您拥有362列
,而不是将其读入列表reals: (362#4;362#"e") 1: `:fp32file
flip colNames!reals