2016-04-26 63 views
-1

我有几个CSV文件总计高达100000行,并计划导入到MySQL数据库,我需要从日期中删除时间并在数字后添加逗号。我只需要足够长的逗号就可以在将行导入到MySQL之前将行切换为短日期。从CSV文件中的日期中删除时间戳

当前数据的格式如下所示。

Sep 1 2007 12:00AM 
Sep 6 2007 2:29PM 
Sep 6 2007 4:55PM 
Sep 10 2007 10:59AM 
Sep 10 2007 4:23PM 
Sep 11 2007 11:47AM 
Sep 11 2007 4:39PM 

任何人都可以推荐一个快速和无痛的方式来做到这一点在Excel中?

+0

我无法确切说,(我不知道这些是否在同一个单元格中),但TRIM(),LEFT(),MID(),RIGHT(),甚至DATE()应该可以正常工作。制作一个适用于前10个细胞的公式,然后将其应用于下! – seadoggie01

+0

如果数据不是字符串,而是日期序列,那么'= DATE(YEAR(A1),MONTH(A1),DAY(A1))'将起作用。 – OldUgly

回答

0

假设它的所有文本为基础,并假设前11个字符是日期字段(3个月,2个日期,4个年份和2个空格),=LEFT(A1, 11)应该做的伎俩。

0

我会转储它在Excel中,使用文本到列将其拆分为2列(固定宽度),删除新的第二列,然后保存回CSV,它将littlely需要更长的时间来打开文件比它会执行这些步骤。

0

只需导入所有数据,然后在导入后删除该列。 范围。(“C:C”)clearContents中

祝您好运:)

1

这大概是关于做它的方式,但我解决了这个由=SUBSTITUTE(TRIM(LEFT(A2,11))," ",", ",2)此将其转换为以下格式将转换成的短日期格式。

Sep 6, 2007 
Sep 6, 2007 
Sep 10, 2007 
Sep 10, 2007 
Sep 11, 2007 
Sep 11, 2007 
Sep 13, 2007 
Sep 17, 2007 
Sep 17, 2007 
0

选择要按分隔符分隔的列列表,然后单击数据>文本到列。 在你的情况下,分隔符看起来像是一个空格。 这应该将MM DD YYYY分别写入3个不同的列。

然后,您可以使用CONCATENATE函数来把他们重新走到一起,但忽略了与日期列

= CONCATENATE(“ - ” ,,“ - ”)