我有一个小的excel数据集,其中包含文本格式的单元格。我的代码R是对herblabel函数的修改(在https://github.com/helixcn中找到),其中每个行和单元格excel数据由函数获取并最终放入RTF输出以制作打印标签。在我的R代码中,列的格式为“DetNov1_XXXXX”或“DetNov1_XXXXX_XXXXX”,其中XXXX是其他特定单词(例如:locality,day,determinator,...)。
对于一行RTF输出,我的代码是:
ifelse((is.na(herbdat$DetNov1_Determinateur_Lieu)),
paste("{\\pard\\keep\\keepn\\fi0\\li0\\qc",
"\\sb180", "\\sb20",
"\\sa20\\fs18 ",
ifelse(((is.na(herbdat$DetNov1_Determinateur_Date_Jour) )&
(is.na(herbdat$DetNov1_Determinateur_Date_Mois) )&
(is.na(herbdat$DetNov1_Determinateur_Date_Annee))),
"",
ifelse(((is.na(herbdat$DetNov1_Determinateur_Date_Jour))&
(is.na(herbdat$DetNov1_Determinateur_Date_Mois))),
paste("{\\pard\\keep\\keepn\\fi0\\li0\\qc",
"\\sb180", "\\sb20",
"\\sa20\\fs18 ",
ifelse(is.na(herbdat$DetNov1_Determinateur_Date_Annee), "", as.character(herbdat$DetNov1_Determinateur_Date_Annee)),
"",
"\\par }",sep = "")
,
ifelse((is.na(herbdat$DetNov1_Determinateur_Date_Jour)),
paste("{\\pard\\keep\\keepn\\fi0\\li0\\qc",
"\\sb180", "\\sb20",
"\\sa20\\fs18 ",
ifelse(is.na(herbdat$DetNov1_Determinateur_Date_Mois), "", firstletteruppercase(as.character(herbdat$DetNov1_Determinateur_Date_Mois))),
" ",
ifelse(is.na(herbdat$DetNov1_Determinateur_Date_Annee), "", as.character(herbdat$DetNov1_Determinateur_Date_Annee)),
"",
"\\par }",sep = "")
,
paste("{\\pard\\keep\\keepn\\fi0\\li0\\qc",
"\\sb180", "\\sb20",
"\\sa20\\fs18 ",
ifelse(is.na(herbdat$DetNov1_Determinateur_Date_Jour), "", as.character(herbdat$DetNov1_Determinateur_Date_Jour)),
" ",
ifelse(is.na(herbdat$DetNov1_Determinateur_Date_Mois), "", as.character(herbdat$DetNov1_Determinateur_Date_Mois)),
" ",
ifelse(is.na(herbdat$DetNov1_Determinateur_Date_Annee), "", as.character(herbdat$DetNov1_Determinateur_Date_Annee)),
"",
"\\par }",sep = "")
)
)
),
"\\par }", sep = "")
,
paste("{\\pard\\keep\\keepn\\fi0\\li0\\qc",
"\\sb180", "\\sb20",
"\\sa20\\fs18 ",
ifelse(is.na(herbdat$DetNov1_Determinateur_Lieu), "", as.character(herbdat$DetNov1_Determinateur_Lieu)),
ifelse(((is.na(herbdat$DetNov1_Determinateur_Date_Jour) )&
(is.na(herbdat$DetNov1_Determinateur_Date_Mois) )&
(is.na(herbdat$DetNov1_Determinateur_Date_Annee))),
"",
ifelse(((is.na(herbdat$DetNov1_Determinateur_Date_Jour))&
(is.na(herbdat$DetNov1_Determinateur_Date_Mois))),
paste("{\\pard\\keep\\keepn\\fi0\\li0\\qc",
"\\sb180", "\\sb20",
"\\sa20\\fs18 ",
", ",
ifelse(is.na(herbdat$DetNov1_Determinateur_Date_Annee), "", as.character(herbdat$DetNov1_Determinateur_Date_Annee)),
"",
"\\par }",sep = "")
,
ifelse((is.na(herbdat$DetNov1_Determinateur_Date_Jour)),
paste("{\\pard\\keep\\keepn\\fi0\\li0\\qc",
"\\sb180", "\\sb20",
"\\sa20\\fs18 ",
", ",
ifelse(is.na(herbdat$DetNov1_Determinateur_Date_Mois), "", as.character(herbdat$DetNov1_Determinateur_Date_Mois)),
" ",
ifelse(is.na(herbdat$DetNov1_Determinateur_Date_Annee), "", as.character(herbdat$DetNov1_Determinateur_Date_Annee)),
"",
"\\par }",sep = "")
,
paste("{\\pard\\keep\\keepn\\fi0\\li0\\qc",
"\\sb180", "\\sb20",
"\\sa20\\fs18 ",
", ",
ifelse(is.na(herbdat$DetNov1_Determinateur_Date_Jour), "", as.character(herbdat$DetNov1_Determinateur_Date_Jour)),
" ",
ifelse(is.na(herbdat$DetNov1_Determinateur_Date_Mois), "", as.character(herbdat$DetNov1_Determinateur_Date_Mois)),
" ",
ifelse(is.na(herbdat$DetNov1_Determinateur_Date_Annee), "", as.character(herbdat$DetNov1_Determinateur_Date_Annee)),
"",
"\\par }",sep = "")
)
)
),
"\\par }", sep = "")
),
我不明白为什么这段代码在我的输出中添加了一个空行。例如,输出为:
我想要的时候:
错误是什么或在哪里?
代码较小时,我没有这个空白行。例如,下面两行代码中的两个不会添加额外的空白行。
ifelse(is.na(herbdat$DetNov1_Note),
"",
paste("{\\pard\\fs1\\sl0 {\\*\\do\\dobxcolumn\\dobypara\\dodhgt\\dpline\\dpxsize5386\\dplinesolid\\dplinew5\\dplinedot} \\par}",
"{\\pard\\keep\\keepn\\fi0\\li0\\qj\\brsp20\\sb100\\sa50\\fs18 Note complémentaire : ",
ifelse(is.na(herbdat$DetNov1_Note), "", as.character(herbdat$DetNov1_Note)), "\\par}", sep = "")
),
ifelse(is.na(herbdat$DetNov1_Projet),
"",
paste("{\\pard\\keep\\keepn\\fi0\\li0\\qc\\brsp20\\sb100\\sa50\\fs18 ", as.character(herbdat$DetNov1_Projet), "\\par }", sep = "")
),
作为预付款,谢谢你的帮助。