2017-05-03 23 views
1

readxlパッケージを使用してExcelシートからテーブルを取得したいと考えています。私は、次のコードを持っている:read_excelはテーブルの代わりにUnicode文字を返します

dir = tempfile() 
download.file("http://www.kase.kz/files/market_valuation/ru/2017/val170502170509.zip", dir) 
unzip(dir, list = TRUE) 
file = unzip(dir, list = TRUE)[2, 1] 
xl = read_excel(file, sheet = 1) 
xl 

を私は取得しています結果は次のとおりです。

# A tibble: 7 × 11 
                                                                                         `42857` 
                                                                                         <chr> 
1 <U+041E><U+0431><U+043B><U+0438><U+0433><U+0430><U+0446><U+0438><U+0438> <U+043C><U+0435><U+0436><U+0434><U+0443><U+043D><U+0430><U+0440><U+043E><U+0434><U+043D><U+044B><U+0445> <U+0444><U+0438><U+043D><U+0430><U+043D><U+0441><U+043E><U+0432><U+044B><U+0445> <U+043E><U+0440><U+0433><U+0430><U+043D><U+0438><U+0437><U+0430><U+0446><U+0438><U+0439> 
2                                                                                 <U+2116> <U+043F>/<U+043F> 
3                                                                                      <NA> 
4                                                                                       1 
5                                                                                       2 
6                                                                                       3 
7                                                                                       4 
# ... with 10 more variables: X__1 <chr>, X__2 <chr>, X__3 <chr>, X__4 <chr>, X__5 <chr>, X__6 <chr>, X__7 <chr>, X__8 <chr>, X__9 <chr>, X__10 <chr> 

誰もがこの解決策を提案することができますしてください?いくつかの修正をした後

# A tibble: 7 x 11 
             `42857`   X__1   X__2   X__3       X__4    X__5 
              <chr>  <chr>  <chr>  <chr>       <chr>    <chr> 
1 Облигации международных финансовых организаций   <NA>   <NA>   <NA>       <NA>    <NA> 
2           № п/п   НИН   ISIN Торговый код Краткое наименование эмитента Дней до погашения 
3           <NA>   <NA>   <NA>   <NA>       <NA>    <NA> 
4            1 KZP01Y05E384 KZ2D00002623 EABRK281217  Евразийский банк развития    236 
5            2 KZP02Y05E382 KZ2D00002631 EABRK250418  Евразийский банк развития    353 
6            3 KZP03Y05E380 KZ2D00002763 EABRK180819  Евразийский банк развития    826 
7            4 KZP04Y05E388 KZ2D00002771 EABRK180919  Евразийский банк развития    856 
# ... with 5 more variables: X__6 <chr>, X__7 <chr>, X__8 <chr>, X__9 <chr>, X__10 <chr> 
+0

これはCSVではなくExcelファイルですか? Unicodeの場合、RコンソールまたはR StudioでUnicodeテキストを表示するように設定されていない場合、UTF8でエンコードされたファイルがどのように表示されるかは、 –

+0

です。手動でそれを見た:) – AK88

答えて

1

私はロシアに設定を変更したら私がUTF-8を見ることができるよ、あなたはSys.setlocale("LC_CTYPE", "russian")を使用してこれを行うことができ、あなたのロケール設定を変更する必要があると思いますロシアのアルファベットは、私はあなたがいる地域については確信していません。

私はSys.setlocale("LC_CTYPE", "english")を使用して以前の設定に戻って、これらの設定で私はrussain(キリル文字)アルファベットのU + XXX値を取得しています。

私はロシア語のロケールでのカラム名の下に持っています:あなたはこのソリューションを働く前に

enter image description here

バックアップしてくださいあなたのロケール設定:

> names(xl) 
[1] "№ п/п"          
[2] "НИН"           
[3] "ISIN"          
[4] "Торговый код"        
[5] "Краткое наименование эмитента"    
[6] "Дней до погашения"       
[7] "без дисконта, \"чистая\""     
[8] "без дисконта, \"грязная\""     
[9] "с дисконтом, \"грязная\" (для целей биржи)" 
[10] "Цена прошлого периода, % (без дисконта)"  
[11] "Ставка купона, %"  

表。

あなたが行うことができます。

oldloc <- Sys.getlocale("LC_CTYPE") 

Sys.setlocale("LC_CTYPE", "ru_RU") 

Sys.setlocale("LC_CTYPE", oldloc) 

は、それはそれはあなたを助けるかもしれ試してみてください。ありがとう

+0

あなたはテーブルを見ることができましたか? – AK88

+0

また、 'Sys.setlocale(" LC_CTYPE "、" ru_RU ")で取得: OSは" ru_RU "にロケールを設定する要求を承諾できません。 – AK88

+1

@ AK88、私はテーブルを手に入れています。なぜなら、 'Sys.setlocale(" LC_CTYPE "、" russian ")'を使って試してみたが、rを再起動してからこれをやり直す。 – PKumar

関連する問題