我有一系列的海量数据文件,大小从800k到1.4M行不等,其中一个变量的长度为12个字符(数字数据,但前导为零,非零位数少于12)。
col
000000000003
000000000102
000000246691
000000000042
102851000324
等等。
我需要为客户端导出这些文件到CSV文件,使用R。最终的数据需要保留12个字符的结构,但当我在Excel中打开CSV文件时,零消失了。即使在将整个 Dataframe 转换为字符后也会发生这种情况。我使用的代码如下所示。
df1 %>%
mutate(across(everything(), as.character))
##### I did this for all data frames #####
export(df1, "df1.csv")
export(df2, "df2.csv")
....
export(df17, "df17.csv)
我读过一些其他的帖子,说这是一个excel的问题,这是有道理的,但考虑到数据文件的数量和数据量,以及客户端能够在excel中打开它的需要,我需要一种方法来在R的前端完成它。
1条答案
按热度按时间tjvv9vkg1#
是的,这绝对是Excel的问题!
为了演示,在Excel中输入列值,将文件另存为CSV值,然后在Excel中重新打开,前导零将消失。
一种选择是添加前导非数字字符,如“
不是很好,但是一个选择。
一个稍微好一点的选择是将Excel的Text函数粘贴到字符串中。这样,Excel将在函数打开时处理该函数。
当然,如果CSV文件被保存并重新打开,则前导0将再次消失。
另一种选择是研究使用“writexl”或“XLSX”或类似的包将文件直接保存为.xlsx文件。