当使用Excel中的“另存为...”将xls文件转换为csv文件(然后将其导入R)时,csv输出文件系统地删除小数点后的所有数字,例如1.0524变为1,5.213变为5,依此类推。
如何防止这种情况明显导致大量数据条目的准确性问题?
由于
答案 0 :(得分:5)
Excel不会这样做。但是,非美国用户偶然发现Excel的CSV输出格式非常普遍。
在美国,Excel使用.
作为小数点,,
作为CSV分隔符(显然,出于某种原因,它被称为逗号分隔值)。
在许多欧洲国家/地区,Excel使用,
表示小数点,使用;
作为CSV分隔符(根据国家/地区的十进制表示法惯例)。
如果您尝试使用美国CSV库读取EU CSV文件,则出于显而易见的原因,您将获得混合字段值。
因此,例如在R中,您需要告诉您的CSV阅读器:
table = read.csv2(file, sep = ";", quote = "\"", dec = ",")