r - 在 R 中导入 CSV 的字符串列中使用 #(井号标签)时出现问题
问题描述
#
我在 CSV 文件的一些字符串字段中有主题标签 ( )。看起来R有问题。
csv = "A;B;C
n;# 9;0
n;1;0"
read.table(text=csv, header=TRUE, sep=";", encoding="UTF-8")
结果是
Fehler in scan(file = file, what = what, sep = sep, quote = quote, dec = dec, :
line 1 did not have 3 elements
CSV 文件由 Python 使用csv,QUOTE_MINIMAL
样式生成。这意味着字符串字段仅在必要时用引号括起来(例如,当字符串本身包含引号字符时)。没有办法改变这一点。所以我必须处理R端的#。
解决方案
read.table
默认情况下将哈希视为注释。更改comment.char
为任何其他值以更改它。
read.table(text=csv, header=TRUE, sep=";", encoding="UTF-8", comment.char = '@')
# A B C
#1 n # 9 0
#2 n 1 0
这就是为什么你应该使用read.csv()
而不是read.table()
. 第一个是后者,但默认值对 CSV 文件更有意义。
推荐阅读
- vba - 我正在编写 vba 代码以从网络上抓取数据,我收到远程服务器机器不存在或不可用的错误
- html - 为什么当我使用焦点代码时 CSS 动画不起作用?
- amazon-web-services - AWS EBS 快照问题
- reactjs - React.js:如何在 Select 选项中设置默认值?
- javascript - 量角器测试制表符值
- php - Laravel 制作图片链接
- jquery - 在 jquery 字符串中查找 html 元素
- python - 峰度在不同形状的正态分布上保持不变?
- amazon-web-services - 使用 ubuntu 中的注册表为 minikube 配置 AWS Elastic Container Registry 的凭证,在 vm 中使用无驱动程序
- sql - 如何使用 SSIS 在 SQL Server 中创建分隔符