0

SQL Server 2005 で作成されたファイルを R にインポートする必要があります。現在の形式を読み取るために R が必要です。そうでなければ、同僚が R が読み取れる形式で保存できるようにデータ プロバイダーのメソッドが必要です。最初の選択。

同僚から、サーバー上の MS SQL Server 2005 で保存されたかなりの数の大きなファイルが送られてきました。Windows 7 で R 2.15.1 を使用しています。

RI を使用して、標準的な手法を使用してファイルを読み込もうとしています。各ファイルの拡張子は csv ですが、Excel やワードパッドで SAVE AS を実行すると、Unicode テキストであることがわかります。メモ帳は、エンコーディングが Unicode であることを示します。現在、Excel 内からいくつかのことを行う必要があります (テキストから列へなど。各行は完全に列 A にあります)。最終的には、R に読み込んで使用する前に、真の csv ファイルとして保存する必要があります。

R内からこれを解決する方法はありますか? また、簡単な SQL Server 2005 ソリューションにもオープンです。

R内から次のことを試しました。

testDF = read.table("Info06.csv", header = TRUE, sep = ",")
testDF2 = iconv(x = testDF, from = "Unicode", to = "")
Error in iconv(x = testDF, from = "Unicode", to = "") : 
  unsupported conversion from 'Unicode' to '' in codepage 1252

# The next line did not produce an error message
testDF3 = iconv(x = testDF, from = "UTF-8" , to = "")

testDF3[1:6, 1:3] 
Error in testDF3[1:6, 1:3] : incorrect number of dimensions

# The next line did not produce an error message
testDF4 = iconv(x = testDF, from = "macroman" , to = "")

testDF4[1:6, 1:3]
Error in testDF4[1:6, 1:3] : incorrect number of dimensions

Encoding(testDF3) 
[1] "unknown"
Encoding(testDF4)
[1] "unknown"

これはワードパッドの最初の数行です

Date,StockID,Price,MktCap,ADV,SectorID,Days,A1,std1,std2
2006-01-03 00:00:00.000,@Stock1   ,2.53,467108197.38,567381.144444444,4,133.14486997089,-0.0162107939626307,0.0346283580367959,0.0126471695454834
2006-01-03 00:00:00.000,@Stock2   ,1.3275,829803070.531114,6134778.93292,5,124.632223896458,0.071513138376339,0.0410694546850102,0.0172091268025929
4

1 に答える 1

1

ロケール設定によって異なりますが、次のように機能します。

read.table("Info06.csv", header = TRUE, sep = ",", fileEncoding = "UCS-2LE")

うまくいかない場合は、Notepad++ を使用してエンコーディングを検出することをお勧めします。それを使用してファイルを開き、「エンコード」メニューで現在のエンコードをドットでマークする必要があります。

エンコーディングの検出に関する質問も確認してください。

于 2013-10-09T19:15:30.990 に答える