R 这些文件之间有什么区别?
我正在编写一个R脚本,以便根据我创建的Excel模板编写调查程序。我通过xlsx软件包从Excel中获取调查项目,然后进行一些搜索,以创建一个格式符合我要求的.txt文件。问题是,除非在生成的.txt文件中选择all,复制并粘贴到空白的.txt文件中,否则无法将其上载到Qualtrics 这不是一个关于定性的问题,实际上,我认为人们不需要了解这个平台来考虑这个问题。我认为我的问题在于R输出文件格式。我希望如果你继续读下去,你会明白我的意思 下面代码块中的所有内容都应该工作R 这些文件之间有什么区别?,r,qualtrics,R,Qualtrics,我正在编写一个R脚本,以便根据我创建的Excel模板编写调查程序。我通过xlsx软件包从Excel中获取调查项目,然后进行一些搜索,以创建一个格式符合我要求的.txt文件。问题是,除非在生成的.txt文件中选择all,复制并粘贴到空白的.txt文件中,否则无法将其上载到Qualtrics 这不是一个关于定性的问题,实际上,我认为人们不需要了解这个平台来考虑这个问题。我认为我的问题在于R输出文件格式。我希望如果你继续读下去,你会明白我的意思 下面代码块中的所有内容都应该工作 require(xls
require(xlsx)
# import survey file; get from Dropbox link above
survey <- read.xlsx("template.xlsx", "survey")
survey <- subset(survey, !is.na(survey$questiontext)) # drop if blank
choices <- read.xlsx("template.xlsx", "choices")
# create vector to hold results
output <- "[[AdvancedFormat]]"
# loop through every question
for (i in 1:nrow(survey)) {
# insert start block if one exists
bs <- ifelse(is.na(survey$blockname[i]), "",
paste0("[[Block:",
as.character(survey$blockname[i]), "]]"))
# insert end block if one exists
be <- ifelse(is.na(survey$endblock[i]), "",
as.character(survey$endblock[i]))
# insert item ID if one exists
qid <- ifelse(is.na(survey$questionid[i]), "",
paste0("[[ID:",
as.character(survey$questionid[i]), "]]"))
# subset choice sheet to selected choice
choices.sub <- subset(choices, choices$listname==survey$choicelist[i])
responses <- ""
# create vector of choices
for (ch in 1:nrow(choices.sub)) {
responses <- paste(responses, choices.sub$label[ch], sep="\r")
}
# insert page break if one exists
pb <- ifelse(is.na(survey$pagebreak[i]) | i==nrow(survey), "",
as.character(survey$pagebreak[i]))
# add to output vector
output <- paste(output,
bs,
survey$questiontype[i],
qid,
survey$questiontext[i],
survey$choicetype[i],
responses,
pb,
be,
sep="\r")
}
# write to txt file
cat(output, file = (con <- file("foo1.txt", "w", encoding = "UTF-8"))); close(con)
这是R.Qualtrics拒绝该文件的结果文件。如果我从这个文件中选择all并使用ST3复制到一个新的blank.txt文件中,Qualtrics会很高兴
这两个文件有什么不同?我不会在foo2.txt中更改任何内容。只需复制/粘贴到新文件中 @CarlWitthoft用他的评论为我指出了正确的方向:
这几乎总是和之间的冲突-作为行结束符
我搜索了该主题并找到了导致我将\r改为\n的原因。这就成功了。我还没有检查你的解决方案,但是从我的头顶上看,有没有看不到的特殊字符?编码呢?如果使用UTF,是否使用BOM?我认为没有任何隐藏字符,除非我的回车符返回\r count。我在文件中指定了UTF-8,因为升华文本3的默认格式是默认编码:UTF-8。我想既然foo2.txt可以工作,既然foo2.txt在UTF-8中,它也可以工作。下面是我在?文件中找到的关于BOM的信息:从R3.0.0开始,UTF-8-BOM的编码被接受,如果存在,它将删除字节顺序标记。我尝试使用encoding=UTF-8-BOM,但出现了一个错误:不支持将“UTF-8-BOM”转换为。这使我认为这是不必要的。但我不确定。这让我想知道当你保存新的.txt文件时会发生什么。您使用什么程序来保存它?这几乎总是和-作为行结束符之间的冲突。