从 Google 表格中读取包含表情符号的 CSV 失败
Reading CSV containing emojis from Google Sheets fails
我已经对 Google 表单进行了调查,并将结果发送到 Google 表格。
然后我尝试将结果下载到 R:
url = 'https://docs.google.com/spreadsheets/d/e/2PACX-1vRkkjx8AOgNdfDW9wtaHR8wtMQOrgTB1O1wwMcJLGre3E_MixhEaIGUI7gfHw5gBQX7-gcNkRUkMM3X/pub?output=csv'
google <- read.csv(url, sep = ',', header = T, fileEncoding = "UTF-8")
遇到问题:
Warning:
In scan(file = file, what = what, sep = sep, quote = quote, dec = dec, :
incorrect input found in input connection 'https://docs.google.com/spreadsheets/d/e/2PACX-1vRkkjx8AOgNdfDW9wtaHR8wtMQOrgTB1O1wwMcJLGre3E_MixhEaIGUI7gfHw5gBQX7-gcNkRUkMM3X/pub?output=csv'
我的 R 数据集只导入了 96 行。
我检查了我的 Google 表格,发现第 96 行包含表情符号并停止下载其他行。
我应该在那里做什么或应该选择哪种编码才能有机会阅读 R 中的表情符号?
R 版本:1.2.5033
您可以尝试将文件内容加载为字符向量,然后在加载数据之前手动删除表情符号。
删除非常高的 UTF-8 值是一种粗略但有效的删除表情符号的方法。
remove_emojis <- function(strings)
{
sapply(strings, function(x) intToUtf8(utf8ToInt(x)[-which(utf8ToInt(x) > 100000)]))
}
google <- remove_emojis(readLines(url, encoding = "UTF-8"))
df <- read.table(text = google,
sep = ",",
fileEncoding = "UTF-8",
stringsAsFactors = FALSE)
感谢Allan,你帮了我大忙!
我找到了另一个决定。
url = 'https://docs.google.com/spreadsheets/d/e/2PACX-1vRkkjx8AOgNdfDW9wtaHR8wtMQOrgTB1O1wwMcJLGre3E_MixhEaIGUI7gfHw5gBQX7-gcNkRUkMM3X/pub?output=csv'
df = readLines(url, encoding = "UTF-8")
df <- read.table(text = df,
sep = ",",
fileEncoding = "UTF-8",
stringsAsFactors = FALSE)
然后我使用 View 功能用表情符号检查我的行,它正确地显示给我。
我已经对 Google 表单进行了调查,并将结果发送到 Google 表格。
然后我尝试将结果下载到 R:
url = 'https://docs.google.com/spreadsheets/d/e/2PACX-1vRkkjx8AOgNdfDW9wtaHR8wtMQOrgTB1O1wwMcJLGre3E_MixhEaIGUI7gfHw5gBQX7-gcNkRUkMM3X/pub?output=csv'
google <- read.csv(url, sep = ',', header = T, fileEncoding = "UTF-8")
遇到问题:
Warning:
In scan(file = file, what = what, sep = sep, quote = quote, dec = dec, :
incorrect input found in input connection 'https://docs.google.com/spreadsheets/d/e/2PACX-1vRkkjx8AOgNdfDW9wtaHR8wtMQOrgTB1O1wwMcJLGre3E_MixhEaIGUI7gfHw5gBQX7-gcNkRUkMM3X/pub?output=csv'
我的 R 数据集只导入了 96 行。
我检查了我的 Google 表格,发现第 96 行包含表情符号并停止下载其他行。 我应该在那里做什么或应该选择哪种编码才能有机会阅读 R 中的表情符号?
R 版本:1.2.5033
您可以尝试将文件内容加载为字符向量,然后在加载数据之前手动删除表情符号。
删除非常高的 UTF-8 值是一种粗略但有效的删除表情符号的方法。
remove_emojis <- function(strings)
{
sapply(strings, function(x) intToUtf8(utf8ToInt(x)[-which(utf8ToInt(x) > 100000)]))
}
google <- remove_emojis(readLines(url, encoding = "UTF-8"))
df <- read.table(text = google,
sep = ",",
fileEncoding = "UTF-8",
stringsAsFactors = FALSE)
感谢Allan,你帮了我大忙!
我找到了另一个决定。
url = 'https://docs.google.com/spreadsheets/d/e/2PACX-1vRkkjx8AOgNdfDW9wtaHR8wtMQOrgTB1O1wwMcJLGre3E_MixhEaIGUI7gfHw5gBQX7-gcNkRUkMM3X/pub?output=csv'
df = readLines(url, encoding = "UTF-8")
df <- read.table(text = df,
sep = ",",
fileEncoding = "UTF-8",
stringsAsFactors = FALSE)
然后我使用 View 功能用表情符号检查我的行,它正确地显示给我。