【发布时间】:2019-03-12 21:01:25
【问题描述】:
每当我使用read.csv.sql 时,我都无法从第一列中进行选择,并且代码的任何输出都会在第一列名称的开头放置一个不寻常的字符(A(波浪号)-..)。
假设我在 Excel 中创建了一个看起来像这样的 df.csv 文件
df = data.frame(
a = 1,
b = 2,
c = 3,
d = 4)
然后,如果我使用 sqldf 查询工作目录中的 csv,我会收到以下错误:
> read.csv.sql("df.csv", sql = "select * from file where a == 1")
Error in result_create(conn@ptr, statement) : no such column: a
如果我查询与第一列不同的列,我会得到一个结果,但输出的异常字符如下所示
df <- read.csv.sql("df.csv", sql = "select * from file where b == 2")
View(df)
知道如何防止这些字符被添加到第一列名称中吗?
【问题讨论】:
-
如果这是唯一的问题(并且您无法或不愿意解决编码问题,如果是这样的话),那么您始终可以使用
colnames(x) <- letters[seq_len(ncol(x))]覆盖列名以降低您的水平 -所有列的大小写字母。如果您的人数超过 26 人,则需要容纳 ... -
感谢您的回复。阅读链接后,我意识到这是我将文件保存在 excel 中的方式,通过从 CSV UTF-8 更改为仅 CSV,它删除了字符,我可以像往常一样查询第一列。