16

Rでcsvファイルを読み取る際に問題が発生しています。

 x=read.csv("LorenzoFerrone.csv",header=T)

Error in make.names(col.names, unique = TRUE) : 
      invalid multibyte string at '<ff><fe>N'

libre office を使用してファイルを問題なく読み取ることができます。

センシティブな情報がいっぱいなので、ファイルをアップロードできません。

私に何ができる?


エンコーディングの設定は、問題の解決策のようです。

> x=read.csv("LorenzoFerrone.csv",fileEncoding = "UCS-2LE")
> x[2,1]
[1] Adriano Caruso
100 Levels:  Ada Adriano Caruso adriano diaz Adriano Diaz alberto ferrone Alexey ... Zia Tina
4

11 に答える 11

10

これにより、列名がそのまま読み取られ、エラーは返されません。

x = read.csv(check.names = F)

列名の厄介な文字を削除/置換するには、次を使用します。

iconv(names(x), to = "ASCII", sub = "")
于 2018-02-13T15:37:30.720 に答える
9

原因は無効なエンコーディングです。すべての「è」をeに置き換えることを解決しました

于 2015-03-18T08:43:57.453 に答える
2

sep引数には正しい区切り文字を指定する必要があります。

于 2014-12-12T07:28:20.183 に答える
2

csv の読み取り中は、いつでも "Latin1" エンコーディングを使用できます。

 x = read.csv("LorenzoFerrone.csv", fileEncoding = "Latin1", check.names = F)

check.names = Fヘッダー内のスペースをドットで置き換えないように追加しています。

于 2020-01-15T19:25:52.970 に答える
1

通常、エンコーディングの問題です。エンコーディングを変更するか、問題のある文字を削除してみてください (お気に入りのエディターを使用して、すべてのインスタンスを置き換えてください)。場合によっては、R は char の場所を吐き出します。次に例を示します。

無効なマルチバイト文字列 1847

これはあなたの人生を楽にするはずです。また、このプロセスを数回繰り返す必要がある場合があることにも注意してください (問題のある文字をすべて削除するか、いくつかのエンコーディングを試します)。

于 2015-08-25T10:50:43.060 に答える
0

この問題は、文章中のグラフィカルな記号 (つまり、アクセント記号) を削除することで解決しました。私のヘッダーはスペイン語で書かれていて、アクセント記号がいくつかありました。簡単な単語 (México=Mexico) に置き換えて、問題は解決しました。

于 2015-10-28T04:38:55.870 に答える
0

これが役立つかどうかはわかりませんが、インポートしようとしていた csv から " を削除することで解決した同様の問題がありました。データベースの最初の行には、"colname"、"colname2"、"etc" と書かれた列名がありました。すべての " を削除すると、csv は R で問題なく読み取られました。

于 2014-04-30T18:57:22.063 に答える