Обеспечение сохранения длинных цифр на выходе CSV - PullRequest
0 голосов
/ 12 февраля 2019

У меня есть фрейм данных R, который необходимо сохранить как файл CSV, однако один числовой столбец меняет свой формат при сохранении в виде файла CSV.

У меня есть символьный столбец с именем ID, как показано ниже:

df <- data.frame(ID = as.character(1181050000000002, 1189050000000003),
                 Other = c("John", "Mary"))

Когда я сохраняю как файл csv на r, он изменяется на

write.csv(df, "df.csv", row.names = FALSE)

df <- read.csv("df.csv")

df$ID

ID
1181050000000000
1189050000000000

Выходные данные, когда я открываю файл csv, должны выглядеть как оригинальные

ID
1181050000000002
1189050000000003

Ответы [ 2 ]

0 голосов
/ 12 февраля 2019

Попробуйте библиотеку bit64

dt$ID <- as.integer64(dt$id)

Это целое число высокой точности.Обычно хорошо работает с такими проблемами с длинными номерами (если, конечно, все ваши идентификаторы представляют собой комбинации цифр)

0 голосов
/ 12 февраля 2019

Вот подход, который работал для меня, используя readr:

library(readr)

write_csv(df, "df.csv")

options(scipen=999)

df1 <- read.csv("df.csv")

df1

#                ID
#1 1181050000000002
#2 1189050000000003

А вот снимок экрана:

enter image description here

...