使用read_csv2()我尝试导入数据(csv
格式和分隔符),并自动检测
十进制数。
到目前为止,我一直没有成功,并不断得到以下输出(可以看到最后一列是
# A tibble: 46 x 4
id segment_id value_type value
<int> <int> <chr> <chr>
1 1 1 min 0
2 1 1 max 0.2
3 1 2 min 0
4 1 2 max 0.2
...
我所尝试的:
1.
read_csv2("table.csv", col_types = cols())
2.我读了
readr
,发现了locale()
,如下所述
语言环境控制因地而异的默认值。默认语言环境是以美国为中心的(如R),但您可以使用
locale()
创建自己的语言环境,控制默认时区、编码、小数标记、大标记和日/月名称等内容。
然而,使用下面的代码,我并没有解决我的问题:
read_csv2("table.csv", col_types = cols(), col_names = TRUE, locale(decimal_mark = "."))
3.在阅读了如何使R的read\u csv2()正确识别文本字符后,我尝试了File\Save with Encoding中列出的所有编码。。。RStudio的无效:
read_csv2("table.csv", col_types = cols(), col_names = TRUE, locale(encoding = "ISO-8859-1"))
列出的编码有:ISO-8859-1、ASCII、BIG5、GB18030、GB2312、ISO-2022-JP、ISO-2022-KR、ISO-8859-2、ISO-8859-7、SHIFT-JIS、UTF-8、WINDOWS-1252
当我用你的4行作为csv运行read_csv2并运行这些行时:
prueba <- read_csv2(file = input_prueba, col_types = cols(), col_names = TRUE, locale(encoding = "ISO-8859-1"))
我得到了相同的输出,最后一列作为字符列导入,但带有一条消息,建议使用read\u delim():
使用','作为十进制,'.'作为分组标记。使用read_delim()进行更多控制
如果您仍然想使用read\u csv2,以下是我的方法:
#For a quicker management of tables use data.table
install.packages("data.table")
library("data.table")
prueba <- as.data.table(prueba)
#Change column to number
prueba[,value:=as.double(value)]
str(prueba)
Classes ‘data.table’ and 'data.frame': 4 obs. of 4 variables:
$ id : int 1 1 1 1
$ segment_id: int 1 1 2 2
$ value_type: chr "min" "max" "min" "max"
$ value : num 0 0.2 0 0.2
我试图导入一个程序,并在其中使用几个函数,但我遇到了一个问题,与argparse有关。 在我想使用的函数中,创建者将其解析器参数传递给函数,如下所示。 我想知道如何在我正在编写的另一个程序中使用这个函数。我是否以某种方式创建了一个parser.parse_args()对象,其参数与他相同?我想到的一件事是使用subprocess.popen这样运行它: 但这似乎不太理想。我真的对如何处理argpa
问题内容: 有没有办法将python浮点数舍入为x小数?例如: 我已经找到了修剪/截断它们的方法(66.666666666-> 66.6666),但是不是圆形的(66.666666666-> 66.6667)。 问题答案: 使用内置功能: 帮助: round(number [,ndigits])->浮点数 将数字四舍五入到给定的精度(以十进制数字表示)(默认为0位数)。这总是返回一个浮点数。精度可
如标题所示,我希望将逗号小数(法属加拿大系统)转换为VBA的周期小数。 除此之外, 它必须转换第3和第4列 这些列中的一些单元格是空的(我不是说所有小数以下的空单元格,而是介于两者之间的单元格) 小数是字符串 下图中的行数仅供示例之用。它们可能要多得多。 小数也因表而异(银行对账单对银行对账单),所以我不想要只适用于这些数字的代码。 小数分隔符是"," 组分隔符为" 最后,一些我并不想要的图片(请
我想把54.5345四舍五入到54.54,也就是说,如果我有第三个小数位,那么我想在第二个小数位上加1。 我试过用math.round但如果第三小数小于5,它总是四舍五入
问题内容: 我有一个价格列表,逗号带有小数点,点是千位分隔符。 一些例子: 12,30 116,10 1.563,14 这些来自第三方。我想将它们转换为浮点数并将它们添加在一起。 做这个的最好方式是什么? number_format 似乎不适用于此格式, str_replace 似乎有点过头了,因为我必须对每个数字进行多次操作。 有更好的办法吗?谢谢。 问题答案: 使用去除点并不过分。 几乎可以肯
问题内容: 是否存在将数字分割成两个部分(即整数部分和小数部分)的有效方法? 问题答案: 用途: