我需要反序列化CSV文件并生成一个定义CSV模式的json文件。为了读取csv并获得标题,我正在使用commons csv库。唯一的问题是,我需要包括每列的"数据类型",并且在反序列化后,所有CSV记录值都以字符串的形式存储在内存中。
假设我有一个CSV,看起来像这样:
col1, col2, col3
val1, val2, 3
我希望我的模式看起来像这样:
{
"columns": [
{
"headerName": "col1",
"type": "String"
},
{
"headerName": "col2",
"type": "String"
},
{
"headerName": "col3",
"type": "Integer"
}
]
}
即使这些值被存储为字符串,尝试确定它们的类型的最佳方法是什么?有没有图书馆已经这样做了?在这种情况下,我宁愿不重新发明轮子。
我知道这不是很理想,但我必须这样做
如果提供一些示例代码,会很有帮助。但是,根据样本输入推测,column#3
将始终包含Integer
值。
如果要检查String
是否为Integer
,可以使用StringUtils.isNumeric((.