read.csv中的多字节字符串无效

read.csv中的多字节字符串无效,r,read.csv,R,Read.csv,我正在尝试导入日语的csv。此代码: url <- 'http://www.mof.go.jp/international_policy/reference/itn_transactions_in_securities/week.csv' x <- read.csv(url, header=FALSE, stringsAsFactors=FALSE) url编码设置字符串的编码。它不设置由字符串表示的文件的编码,这是您想要的 在尝试了“UTF-8”之后,这对我很有效: x由于系统区

我正在尝试导入日语的csv。此代码:

url <- 'http://www.mof.go.jp/international_policy/reference/itn_transactions_in_securities/week.csv'
x <- read.csv(url, header=FALSE, stringsAsFactors=FALSE)

url
编码
设置字符串的编码。它不设置由字符串表示的文件的编码,这是您想要的

在尝试了
“UTF-8”
之后,这对我很有效:


x由于系统区域设置不兼容,您可能遇到了此问题

尝试使用此代码设置系统区域设置。设置区域设置(“LC_ALL”,“C”)

对于那些使用
嘎嘎声的人,我是如何解决此问题的:

  • 首先确保退出Crattle,以便在R命令提示下启动
  • >库(嘎嘎声)
    (如果尚未这样做)
  • >crv$csv.encoding=“拉丁语1”
  • >嘎嘎声()
  • 你现在应该可以继续了。例如,导入您的csv>执行>模型>执行等

  • 这对我起了作用,希望能帮助一个疲惫的旅行者

    我对科学文章也有类似的问题,并在这里找到了一个很好的解决方案:

    通过使用以下代码行:

    read_csv(file = "http://www.mof.go.jp/international_policy/reference/itn_transactions_in_securities/week.csv",
             skip = 14,
             local = locale(encoding = "latin1"))
    
    将多字节字符串转换为十六进制代码。
    我希望这有帮助。

    如果您试图导入到R中的文件最初是Excel文件。确保打开原始文件并另存为csv,并且在导入R时为我修复了此错误。

    来自tidyverse universe的readr软件包可能会有所帮助

    您可以使用
    local()
    函数及其编码参数,通过
    read\u csv()
    函数的local参数设置编码:


    我也犯了同样的错误,尝试了以上所有的方法都没有用。当我从R3.4.0升级到3.4.3时,这个问题消失了,所以如果你的R版本不是最新的,请更新它

    对于这个问题,我找到的最简单的解决方案是在不丢失任何数据/特殊字符的情况下(例如,当使用
    fileEncoding=“latin1”
    类似欧元符号的字符将丢失)首先在文本编辑器(如Sublime text)中打开文件,然后“使用编码保存-UTF-8”

    然后R可以导入文件而不会出现问题,也不会丢失字符。

    我最近遇到了这个错误(
    无效的多字节字符串1
    ),但我的问题有点不同:


    我们忘记了保存一个带有扩展名的csv.gz文件,并尝试使用
    read\u csv()
    来读取它。添加扩展解决了问题。

    是否尝试将参数
    encoding=“UTF-8”
    设置为
    read.csv()
    ?是的,结果相同。谢谢。从年开始,我尝试使用
    Sys.setlocale
    将本地语言设置为日语,但也不起作用(“操作系统报告请求将语言环境设置为“日语”)是的,read.csv(“foobar.csv”,fileEncoding=“latin1”)对我有效。我有一个Excel文件并保存为CSV,然后必须将文件编码设置为“latin1”才能读取R中的CSV。@Joshua Ulrich,如果我的代码是这样的呢<代码>文件.list
    x <- read.csv(url, header=FALSE, stringsAsFactors=FALSE,
      fileEncoding="latin1", skip=16)
    # get started with the clean-up
    x[,1] <- gsub("\u0081|`", "", x[,1])    # get rid of odd characters
    x[,-1] <- as.data.frame(lapply(x[,-1],  # convert to numbers
      function(d) type.convert(gsub(d, pattern=",", replace=""))))
    
    tm_map(yourCorpus, content_transformer(function(x) iconv(enc2utf8(x), sub = "byte")))
    
    read_csv(file = "http://www.mof.go.jp/international_policy/reference/itn_transactions_in_securities/week.csv",
             skip = 14,
             local = locale(encoding = "latin1"))