0%

DataGrip导入CSV的日期格式问题

首先,DataGrip无法正常导入Excel格式文件(xlsx,xls等格式),这是大家都知道的。

但是,就算把数据保存为CSV,如果有日期列,就有可能出现数据格式错误的问题。

原因是数据库里的日期列如果数据格式为date,那么日期列中的年月日是以 “-” 进行连接的。

而CSV里的日期列可能并不是以 “-” 连接。

image-20220606095721177

这就造成了DateGrip发现日期格式不同,无法导入的问题。

要解决这个问题,可能有人会想到,可以把CSV里日期列中的 “/” 替换为 “-”。其实这个想法是好的,但是是错误的。因为如果这个CSV是由Excel格式另存出来的,那么日期列其实依然是Date格式,就算你做了 “/” 替换为 "-"操作,你会发现CSV中的日期列,依然是 “/” 连接年月日。

所以,要解决这个问题,其实并不是修改CSV文件,而是修改Windows设置。如下图

image-20220606100209539

这里显示的短日期格式,才是造成CSV日期列中是 “/” 而不是 “-”。

所以,点下面的 “更改数据格式”,修改短日期格式为下图中设置,即可解决CSV中的日期格式问题。并且做完此修改后,打开CSV文件,会发现日期列中年月日连接符变成了“-”。

image-20220606100447395

然后,再用DataGrip导入CSV文件,就会发现,日期格式问题消失了。导入很顺利。