C# Deedle-CSV中的逗号十进制delimeter
尝试使用deedle Frame.ReadCsv加载CSV文件,但我在浮点字段中使用逗号作为十进制delimeter,因此它们被读取为int,忽略逗号C# Deedle-CSV中的逗号十进制delimeter,c#,.net,csv,deedle,C#,.net,Csv,Deedle,尝试使用deedle Frame.ReadCsv加载CSV文件,但我在浮点字段中使用逗号作为十进制delimeter,因此它们被读取为int,忽略逗号 有什么方法可以加载它吗?如果您有一个CSV文件,它使用逗号作为十进制数字和分隔符,那么就没有办法解析它,因为它是不明确的。例如: One,Two 1,2,3 这应该被解析为1,2和3,还是应该被解析为1和2,3?如果你想用逗号来表示十进制数,你需要用别的东西作为分隔符。例如,分号 这现在是明确的,您可以解析它。您需要指定分隔符。作为奖励,您还可
有什么方法可以加载它吗?如果您有一个CSV文件,它使用逗号作为十进制数字和分隔符,那么就没有办法解析它,因为它是不明确的。例如:
One,Two
1,2,3
这应该被解析为1,2和3,还是应该被解析为1和2,3?如果你想用逗号来表示十进制数,你需要用别的东西作为分隔符。例如,分号
这现在是明确的,您可以解析它。您需要指定分隔符。作为奖励,您还可以指定一个区域性,该区域性使用作为十进制数分隔符来正确解析十进制数。例如,捷克文化就是这种情况,因此下面按预期解析文件:
Frame.ReadCsv("c:/temp/test.csv", separators:";", culture:"cs-CZ")
程序如何区分哪些逗号是字段分隔符,哪些逗号是十进制分隔符?简单地说,CSV格式不正确。它可能是用自制代码生成的,而不是使用许多现有库中的一个来生成CSV。最好的办法是修复生成文件的代码。
Frame.ReadCsv("c:/temp/test.csv", separators:";", culture:"cs-CZ")