首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fread和fread空字符串

fread和fread空字符串
EN

Stack Overflow用户
提问于 2022-07-24 12:36:23
回答 1查看 79关注 0票数 0

如何使fread""读取为空字符串(即不手动指定colClasses)?这种fread/fwrite不兼容的理由是什么,以及如何避免它(例如,是否有一种方法使fread能够读取空字符串)?

代码语言:javascript
复制
library(data.table)
dt <- data.table(a = 1, b = '')
fwrite(dt, file = 'out.csv')
dt2 <- fread('out.csv')

dt
#    a b
# 1: 1  
dt2
#    a  b
# 1: 1 NA

有几个密切相关的帖子(例如这一个,但它也会通过指定一个数字字符串来避免麻烦)。我认为我的情况要简单得多,但更令人惊讶/阴险,因为fwritefread应该能够始终如一地处理相同的数据,这是有道理的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-07-24 16:21:03

这是前一个问题data.table#3439中当前错误的组合,其中空字符串无法正确识别。

解决这个问题的方法有两种,当#3439被修复时,它们可能就没有必要了:

  1. 确保b列中的其他行是非空字符串;您可能无法控制这一点,所以. writeLines(c(a,b),'1,‘’,'2,‘b’),"out.csv") fread("out.csv") #a#b# 1: 1# 2: 2 b
  2. 确保b列是具有原始1行CSV文件fread("out.csv“、colClasses=c(b=”字符“))#a b# 1: 1的类character
  3. 当#3439被解析后,您应该能够只做 fread(out.csv,na.string=NULL)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73098453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档