从进口到的BigQuery若R特殊字符

问题描述 投票:2回答:2

我有一些报废鸣叫并保存结果到谷歌的BigQuery的脚本。当我看到存储的数据,特殊字符,如➕,♂️,N,AEIOU正常显示,但是当我尝试导入数据再次与R它们是由一些奇怪的字符替换。下面是一个例子。

# Create df

id_tweet <- 1023985670224785408
tweet <- "◉ Neuroeducación y entornos digitales de aprendizaje: un paso obligado para educadores, pedagogos y psicólogos"
descripcion <- "Desde las alturas se ve todo de otra manera... ️ ➕ ‍♂️"

data <- data.frame(id, tweet, description)

# Save to Google BQ

library(bigrquery)

insert_upload_job("project-id", "dataset", "table", data , write_disposition = "WRITE_APPEND")

#Load from Gooble BQ

sql <- paste("SELECT *", "FROM", "`project-id.dataset.table`")
data <- query_exec(sql, project = "project-id", use_legacy_sql = FALSE)

我的输出如下:

> data
               id_tweet
283 1023985670224785408
                                                                                                                                         tweet
283 ◉ Neuroeducación y entornos digitales de aprendizaje: un paso obligado para educadores, pedagogos y psicólogos
                                                                                        descripcion
283 Desde las alturas se ve todo de otra manera... ï¿½ï¿½ï¸ âž• ��<U+200D>â™‚ï¸ ï¿½ï¿½ ��

我想是保持原来的格式。

我该怎么办?

谢谢,

r twitter google-bigquery
2个回答
0
投票

我测试了几件事情可以帮助。

首先,我保存的空白[R脚本,并确保它是在UTF-8编码:文件 - >保存与编码 - > UTF-8。然后在双引号为.csv(即"➕, ‍♂️, Ñ, áéíóú")保存的只是特殊字符在你的问题。然后在fileEncoding = "UTF-8",即该CSV阅读:

test <- read.csv("test.csv", fileEncoding = "UTF-8", header=FALSE, stringsAsFactors = FALSE)

[R Studio中,test返回:

# > test
# V1
# 1 \u2795, ‍♂️, Ñ, áéíóú

因此,所有但➕显示很好的R中工作室。然而,很多字,甚至常见的像换行和制表符等好笑的RStudio但通常,当一个文件被写入显示器。这些并没有什么不同。

当CSV写入(只用write.csv(test, 'test2.csv', row.names=FALSE)),它显示完美,因为它在原来的CSV做(这时候,在崇高的文本开)

这一切后,我会建议您确保编码是UTF-8,也许是试图拯救BQ输出为CSV(如果可能的话?)和检查它,看看问题是否由BQ或R.未来如果出来了BQ正确的,那么它应该是简单地改变RStudio编码的问题。但是,如果它不出来按预期BQ的,那么我建议你需要将数据类型改变BQ(以UTF-8)


0
投票

6个月后,我终于设法解决这个问题。代替使用query_exec我用bq_table_download从同一个包而不是函数。此功能解决了这个问题。希望能帮助到你。

© www.soinside.com 2019 - 2024. All rights reserved.