Miller:如何使用 Miller 将 csv.file 中的列的数据类型从 Float64 更改为 String?

问题描述 投票:0回答:1

如何使用 Miller 将 csv.file 中的列的数据类型从 Float64 更改为 String?特定列中有一些 NA。还有一个函数可以对新创建的字符串进行切片吗?

我尝试使用内置字符串函数更改数据类型,但没有发生......

示例输入:

nan,1.70310814e+10,1.70318391e+10

示例输出:

nan,'081400','839100'

尝试在第一步中将 float 64 转换为字符串: mlr -I --csv put '$col_name=string($col_name);'文件.csv

csv tostring miller
1个回答
0
投票

您似乎想将浮点数转换为整数,计算模

1 000 000
并用单引号引起来:

echo 'nan,1.70310814e+10,1.70318391e+10' |

mlr --csv -N put '
    for (k,v in $*) {
        if (v != "nan") {
            $[k] = "\047" . (int(v) % 1000000) . "\047"
        }
    }
'

输出:

nan,'81400','839100'
© www.soinside.com 2019 - 2024. All rights reserved.