read_excel returns Unicode 字符而不是 table
read_excel returns Unicode characters instead of a table
我想使用 readxl
包从 Excel sheet 得到一个 table。我有以下代码:
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>
我认为您需要更改您的区域设置,您可以使用 Sys.setlocale("LC_CTYPE", "russian")
来完成此操作,一旦我将设置更改为俄语,我就可以看到 UTF-8 到俄语字母表,尽管我是但是不确定您所在的地区。
要返回到我使用过的先前设置 Sys.setlocale("LC_CTYPE", "english")
,在这些设置下,我得到了俄语(西里尔字母)字母的 U+XXX 值。
我有以下俄语区域设置的列名:
> names(xl)
[1] "№ п/п"
[2] "НИН"
[3] "ISIN"
[4] "Торговый код"
[5] "Краткое наименование эмитента"
[6] "Дней до погашения"
[7] "без дисконта, \"чистая\""
[8] "без дисконта, \"грязная\""
[9] "с дисконтом, \"грязная\" (для целей биржи)"
[10] "Цена прошлого периода, % (без дисконта)"
[11] "Ставка купона, %"
Table:
在使用此解决方案之前,请备份您的区域设置。
你可以做到:
oldloc <- Sys.getlocale("LC_CTYPE")
Sys.setlocale("LC_CTYPE", "ru_RU")
Sys.setlocale("LC_CTYPE", oldloc)
尝试一下,也许会对您有所帮助。谢谢
我想使用 readxl
包从 Excel sheet 得到一个 table。我有以下代码:
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>
我认为您需要更改您的区域设置,您可以使用 Sys.setlocale("LC_CTYPE", "russian")
来完成此操作,一旦我将设置更改为俄语,我就可以看到 UTF-8 到俄语字母表,尽管我是但是不确定您所在的地区。
要返回到我使用过的先前设置 Sys.setlocale("LC_CTYPE", "english")
,在这些设置下,我得到了俄语(西里尔字母)字母的 U+XXX 值。
我有以下俄语区域设置的列名:
> names(xl)
[1] "№ п/п"
[2] "НИН"
[3] "ISIN"
[4] "Торговый код"
[5] "Краткое наименование эмитента"
[6] "Дней до погашения"
[7] "без дисконта, \"чистая\""
[8] "без дисконта, \"грязная\""
[9] "с дисконтом, \"грязная\" (для целей биржи)"
[10] "Цена прошлого периода, % (без дисконта)"
[11] "Ставка купона, %"
Table:
在使用此解决方案之前,请备份您的区域设置。
你可以做到:
oldloc <- Sys.getlocale("LC_CTYPE")
Sys.setlocale("LC_CTYPE", "ru_RU")
Sys.setlocale("LC_CTYPE", oldloc)
尝试一下,也许会对您有所帮助。谢谢