簡體   English   中英

這些文件有什么區別?

[英]What is the difference between these files?

我正在編寫R腳本,以便根據我創建的Excel模板對Qualtrics測量進行編程。 我通過xlsx包從Excel 模板中獲取了調查項目,然后進行了一些修改以創建所需格式的.txt文件。 問題是,除非在生成的.txt文件中全部選中,復制並粘貼到空白的.txt文件中,否則我無法將其上傳到Qualtrics。

本質上, 這不是關於Qualtrics的問題 ,而且我認為沒有人需要了解該平台的任何知識。 我相信我的問題出在R輸出文件格式中。 我希望如果繼續閱讀,您會明白我的意思。

以下代碼塊中的所有內容均應正常工作。

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生成的foo1.txt文件。Qualtrics拒絕了該文件。 如果我從此文件中全部選擇並復制到新的空白.txt文件(使用ST3) foo2.txt ,則Qualtrics很高興。

這兩個文件有什么不同? 我沒有更改foo2.txt任何foo2.txt 只需復制/粘貼到新文件中即可。

@CarlWitthoft的評論向我指出了正確的方向:

作為行結束符的<CR><CR>-<LF>之間幾乎總是存在沖突。

我搜索了該主題,發現該SO線程導致我將\\r更改為\\n 做到了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM