使用 read_csv 在报价中读取带有 delim 的 CSV 文件

Bangyou

csv 文件在引号中包含逗号 (,)。read_csv函数将它们转换为numeric假设保持为character.

library(readr)
read_csv('"Name","V1","V2"\n
"A","0,20","300,200"\n
"B","0,20","300,200"')

结果看起来像

# A tibble: 2 x 3
  Name  V1        V2
  <chr> <chr>  <dbl>
1 A     0,20  300200
2 B     0,20  300200

我希望列 V2 与字符保持相同。

我该如何解决?

我的会议信息

> sessionInfo()
R version 4.1.0 (2021-05-18)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 18363)

Matrix products: default

locale:
[1] LC_COLLATE=English_Australia.1252 
[2] LC_CTYPE=English_Australia.1252   
[3] LC_MONETARY=English_Australia.1252
[4] LC_NUMERIC=C                      
[5] LC_TIME=English_Australia.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets 
[6] methods   base     

other attached packages:
[1] readr_1.4.0

loaded via a namespace (and not attached):
 [1] fansi_0.5.0     utf8_1.2.2      crayon_1.4.1   
 [4] R6_2.5.0        lifecycle_1.0.0 magrittr_2.0.1 
 [7] pillar_1.6.1    rlang_0.4.11    cli_3.0.1      
[10] rstudioapi_0.13 vctrs_0.3.8     ellipsis_0.3.2 
[13] tools_4.1.0     hms_1.1.0       compiler_4.1.0 
[16] pkgconfig_2.0.3 tibble_3.1.3
罗纳克·沙阿

两种选择——

  1. grouping_marklocale到的东西是不存在的数据。
library(readr)

read_csv('"Name","V1","V2"\n
"A","0,20","300,200"\n
"B","0,20","300,200"', locale = locale(grouping_mark = "@"))

#  Name  V1    V2     
#  <chr> <chr> <chr>  
#1 A     0,20  300,200
#2 B     0,20  300,200
  1. 显式传递列的类。
read_csv('"Name","V1","V2"\n
"A","0,20","300,200"\n
"B","0,20","300,200"', col_types = 'ccc')

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用.read_csv读取csv文件的所有行

如何使用带有gzip压缩选项的pandas read_csv读取tar.gz文件?

读取带有分隔符的 CSV 文件,因为 delim 和数字数据也包含分隔符,以使用 Scala 在 Spark 中创建 RDD

如何使用readr :: write_delim()编写包含.csv的文件

在R中使用read_csv导入多个csv文件

熊猫-使用read_csv读取时间

如何使用Dask read_csv读取第n行,以快速读取多个文件?

熊猫:read_csv(在单个文件中读取多个表)

使用熊猫read_csv读取此制表符分隔的文件时,行丢失

如何使用代理上的熊猫从URL读取read_csv文件?

有没有一种方法可以使用“ read_csv”方法读取csv文件,以便它们在目录中列出?

熊猫,使用read_csv导入类似JSON的文件

如何读取缺少值和'delim_whitespace = True'的csv文件?

pandas 是否支持使用 read_csv 读取 `set` 参数

使用熊猫read_csv读取标题时跳过`#`字符

使用read_csv读取奇数/数字列

有没有办法在不创建文件的情况下使用 read_csv ?使用 StringIO

熊猫:使用read_csv解析不同列中的日期

如何为每个csv文件使用read_csv,即使它为空?蟒蛇熊猫

是read_csv()中的S3阅读器首先将文件下载到磁盘还是使用流式传输?

如何显示pandas read_csv()函数读取的csv文件名?

当使用带有 StringIO 而不是文件对象的 pandas read_csv 时,峰值内存使用量要大得多

带有多行标头XLS文件的Pandas read_csv

避免在read_csv中读取multindex

Pandas read_csv 读取文件中不存在的浮动值

使用`readr :: read_csv_chunked()`分批读取csv文件

使用read.csv()读取csv文件而不损失毫秒

无法拆除熊猫使用的临时文件read_csv

使用带有 header=None 的 read_csv() 时熊猫给出异常结果