如何使用 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
您似乎想将浮点数转换为整数,计算模
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'