使用bibliometrix合并文献数据后导出及Biblioshiny读取问题求助
问题解决方案
1. 解决Excel导出字符过长错误
Excel单元格字符上限为32767,需先预处理数据中的长文本字段(如摘要AB、参考文献CR),截断或清理超长内容:
library(bibliometrix) library(dplyr) # 遍历字符型列,截断超过32760的字符串(留余量避免边界问题) combined_clean <- combined1 %>% mutate(across(where(is.character), ~ifelse(nchar(.) > 32760, substr(., 1, 32760), .))) # 用writexl包稳定导出 library(writexl) write_xlsx(combined_clean, "combined_data_clean.xlsx")
若不想截断,可将超长字段拆分为多单元格,但文献计量分析中截断摘要、参考文献等字段基本不影响后续流程,优先推荐截断方案。
2. 修复导出BibTeX无法被biblioshiny读取的问题
使用bibliometrix官方导出函数保证格式合规,避免手动修改数据集后导出:
# 用官方函数导出标准BibTeX文件 export2bibtex(combined1, file = "combined_data.bib") # 直接在biblioshiny中加载该文件 biblioshiny()
若仍无法读取,检查合并后数据集的核心字段(如标题TI、作者AU、出版年PY)是否完整,可通过colnames(combined1)确认,缺失则重新执行合并步骤保留原始字段。
3. 解决CSV格式异常问题
用readr包替代基础函数,更好处理特殊字符与编码:
library(readr) # 指定UTF-8编码导出,避免乱码 write_csv(combined1, "combined_data.csv", locale = locale(encoding = "UTF-8")) # 验证读取格式 test_read <- read_csv("combined_data.csv", locale = locale(encoding = "UTF-8")) head(test_read)
若出现分隔符问题,可手动添加delim = ","参数;避免用Excel直接打开CSV(会自动转换格式),优先用文本编辑器或R的read_csv验证。
内容的提问来源于stack exchange,提问作者findingnemo
相关产品推荐
相关产品推荐

