使用数据流读取数据时,我发现非常大或非常小的数字会自动转换为科学计数法。正在读取的数据是从单行 JSON 文件读取的,该文件读取良好,但是在展平数据时,似乎正在发生符号切换,即
3568291023
变成了 3.568291023E9
。
读取的数据格式如下:
“值”:[[1111,“狗”,“猫”,“饮料”,“水(毫升)”0,2909888293,1234599283,2232341,21352,23253,2.98,3.07,3.25,3.36,3.4,3.53 ,3.59,"","水","水数据.csv","2021-04-22 21:32:33.734"],
其中派生列是(例如)
year = Values[1]
、animal_1 = Values[2]
等
我目前正在将数据展平并导出为列。为了解决这个问题,我尝试将相应的列转换为小数或双精度来更改现有的字符串格式,即数据列
Data_C1
使用表达式Data_C1_Dec
派生为toDecimal(Data_C1, 20,10)
,这解决了大数字的问题,但是这会导致另一个问题,即列中的所有 0
值行都会变成 0E10
,从而带回科学记数法问题。
有没有一种方法可以将所有字符串数值转换回原始数字形式,而数据流不会自动将形式转换为科学记数法?
import projection
。这将有助于以正确的数据类型正确读取数据。