R闪亮的Bytea数据格式

时间:2015-11-02 06:12:33

标签: r postgresql shiny

这是我需要从PostgreSQL数据库中提取的数据的示例表。 Sample data

如您所见,iv_file(它是一个十六进制数字)列是Bytea格式。因此,当我尝试在R中提取onlu的iv_file列时,我得到以下内容。

`iv_file
1                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 \\x
2                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 \\x
3                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 \\x
4                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 \\x
5                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 \\x
6 \\x364630353037303036463035303830303646303530443030364530353142303036453035333730303643303535463030364230353838303036393035414530303638303544313030363630354634303036353035313630313634303533373031363330353537303136323035373730313630303539373031354630354236303135453035443630313544303546363031354330353136303235423035333430323539303535343032353930353733303235373035393130323536303542313032353530354430303235343035463030323533303530453033353230353245303335303035344430333446303536423033344530353842303334443035414130333443303543383033344130354538303334413035303830343438303532373034343730353435303434363035363530343434303538343034343430354132303434333035433230343431303545313034343030353031303533463035314630 

数据与原始数据不同。 (请注意,原始数据也有很长的数字) 那么如何在R中使用bytea数据格式?或者我该如何转换它?

1 个答案:

答案 0 :(得分:0)

我不相信你可以转换它。 Bytea数据基本上是咬数据。我建议不要把它拉进rdata框架。 Bytea通常是bitdata,是一种无法以传统格式存储的图像或其他东西。

另一种方法是使用JDBC,它通常负责转换。我会看看require(RPostgreSQL)来了解它是如何完成的。

一旦加载到R中,您就可以将其转换回来。尝试这样的事情

udecode <- function(string){
  uconv <- function(chars) intToUtf8(strtoi(chars, 16L))
  ufilter <- function(string) {
  if (substr(string, 1, 1)=="|") uconv(substr(string, 2, 5)) else string
 }
 string <- gsub("\\\\u([[:xdigit:]]{4})", ",|\\1,", string, perl=TRUE)
 strings <- unlist(strsplit(string, ","))
 string <- paste(sapply(strings, ufilter), collapse='')
 return(string)
}