0

在 openoffice calc 中,我打开一个从 Internet 下载的 csv 文件。

其中一列用于日期。日期格式为 dd/mm/yy。它也左对齐(我认为它保存为文本)。

我想将日期格式修改为 yyyy-mm-dd,这样我就可以将其放入我创建的 mysql 表中,并且我在其中有一个数据类型为 date 的列(因此它需要我之前提到的格式)。

因此,我在 openoffice calc 中选择了“日期”列,并尝试将格式从原来的格式更改为我想要的格式。什么都没有发生。完全没有变化。

有什么建议吗?与字符集或类似的东西有什么关系?

4

3 回答 3

2

如果您选择一个单元格并查看顶部“公式”框中的单元格内容 - 它是否以单引号开头?这意味着,它作为文本导入。尝试删除引号,日期突然表现为日期(并使用您对该单元格的显示首选项)。

有一个有趣的技巧可以使用搜索和替换来删除这些前导引号。选择您的列,进行搜索和替换,单击更多选项,仅当前选择,使用正则表达式:

search ^(.*)$
replace &

在正则表达式中,这意味着search anything and replace it by itself. 在 OO 中,这会删除前导引号。

于 2014-10-12T10:36:57.170 回答
1

你可以只使用 MySQL 的STR_TO_DATE()函数:

LOAD DATA INFILE '/path/to/file.csv'
  INTO TABLE my_table
  CHARACTER SET utf8
  FIELDS
    TERMINATED BY ','
    OPTIONALLY ENCLOSED BY '"'
  LINES
    TERMINATED BY '\r\n'
  IGNORE 1 LINES
  (@date, col_a, col_b, etc)
SET
  date_col = STR_TO_DATE(@date, '%d/%m/%Y')
;
于 2012-11-17T10:53:03.800 回答
0

它在导入/打开对话框中,您必须告诉它列是日期,然后一切正常。

于 2016-11-28T14:07:43.830 回答