Size: a a a

R language and Statistical data analysis

2019 October 30

AB

Andrey Bystrov in R language and Statistical data analysis
в смысле, считывает без 0, которые в поле item_code стоят в начале до первого ненулевого значения, или вообще не читает?
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
считывает без 0
источник

AB

Andrey Bystrov in R language and Statistical data analysis
хм, могу предложить только сохранить как txt исходник и дальше переокрыть его в экселе, сделав item_code строкой, далее пересохранить и открыть уже в R. проверил, вроде работает.
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
не, костыльные решения я могу придумать
в конце концов, можно просто вот такое сделать
> sapply(xlsx_data[, 'item_code'], function(x) sprintf("%010d", x))
    item_code  
[1,] "0020000559"
[2,] "0020000779"
[3,] "0000013117"
[4,] "0040000289"
[5,] "0040000274"
[6,] "0010000581"
[7,] "0020000458"
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
я просто хочу понять, можно ли это сделать автоматически средствами R, без костылей типа промежуточного ручного конвертирования и проч
источник

Ю

Юрий 🐙💻🤖📊📈🚬 in R language and Statistical data analysis
Philipp Upravitelev
коллеги, помогите корректно импортировать файл, особенно колонку item_code. тыкаю readxl, а он не жретЪ :( openxlsx тоже не особо
из csv корректно считываается с 000
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
а из xlsx как?
источник

A

Alexander (AlexR) in R language and Statistical data analysis
read_xlsx()
источник

AB

Andrey Bystrov in R language and Statistical data analysis
понял. может вот это поможет? https://stackoverflow.com/questions/24043162/r-excel-leading-zeroes

мне не помогло правда спецификация типов переменных в read_xlsx()
источник

A

Alexander (AlexR) in R language and Statistical data analysis
по идее, `read_xlsx` прочитает их как character
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
ну вот в read_xlsx с указанием типа text не читает с нулями:
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
> xlsx_data <- read_xlsx('./data/xls_example.xlsx', 
+                        col_types = c('text', 'text', rep('numeric', 3)))
> xlsx_data                                                                                
# A tibble: 7 x 5
 company item_code       barcode amount price
 <chr>   <chr>             <dbl>  <dbl> <dbl>
1 xxx     20000559  4601026307584      3 480.
2 xxx     20000779  4603182002259      4  27.0
3 xxx     13117     4607072020156      2 354.
4 yyy     40000289  3574661287522      6 208.
5 yyy     40000274  3574661287539      2 175.
6 zzz     10000581  4602196002682      1 537.
7 zzz     20000458  4601026308567      9 371.
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
ставлю jdk, ага, для XLconnect
источник

A

Alexander (AlexR) in R language and Statistical data analysis
Можно попробовать закостылить типа ssconvert example.xlsx example.csv
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
Alexander (AlexR)
Можно попробовать закостылить типа ssconvert example.xlsx example.csv
ненене, вопрос именно в том, можно ли без костылей, просто функцией пакета
студентам справку готовлю просто, заодно старый кейс разбираю
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
ну вот XLconnect нормально нули отдает :(
печаль-тоска :(
library(XLConnect)
> readWorksheetFromFile('./data/xls_example.xlsx', "Sheet1", colTypes = c(rep('character', 2), rep('numeric', 3)))
 company  item_code      barcode. amount  price
1     xxx 0020000559 4601026307584      3 480.26
2     xxx 0020000779 4603182002259      4  26.95
3     xxx 0000013117 4607072020156      2 353.76
4     yyy 0040000289 3574661287522      6 207.55
5     yyy 0040000274 3574661287539      2 174.81
6     zzz 0010000581 4602196002682      1 537.46
7     zzz 0020000458 4601026308567      9 370.70
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
собственно, в readxl это невозможно на данный момент, хотя прошло два года
печаль-тоска дважды
https://github.com/tidyverse/readxl/issues/389
источник

Ю

Юрий 🐙💻🤖📊📈🚬 in R language and Statistical data analysis
не только в нем, я еще xlsx попробовал, тоже не может
источник

PU

Philipp Upravitelev in R language and Statistical data analysis
вот всегда считал, что xlconnect лучший пакет. но он требует джаву, медленный и с очень специфичным набором функций, с наскоку не разберешься :(
источник

Ю

Юрий 🐙💻🤖📊📈🚬 in R language and Statistical data analysis
Philipp Upravitelev
вот всегда считал, что xlconnect лучший пакет. но он требует джаву, медленный и с очень специфичным набором функций, с наскоку не разберешься :(
да, я им не мог пользоваться
источник