0

openoffice calc で、インターネットからダウンロードした csv ファイルを開きます。

列の 1 つは日付用です。日付の形式は dd/mm/yy です。また、左揃えになっています(テキストとして保存されていると思います)。

日付形式を yyyy-mm-dd に変更したいので、作成した mysql テーブルに収まるようにし、データ型が日付の列を持っています (そのため、前述の形式が必要です)。

そこで、openoffice calc で「日付」列を選択し、フォーマットを現在のフォーマットから必要なフォーマットに変更しようとしました。何も起こっていません。まったく変更はありません。

なにか提案を?文字セットとか関係あるの?

4

3 に答える 3

2

1 つのセルを選択し、上部の「数式」ボックスのセルの内容を見ると、一重引用符で始まっていますか? つまり、テキストとしてインポートされます。引用符を削除してみると、日付が突然日付として動作します (そのセルの表示設定が使用されます)。

検索と置換を使用してこれらの先頭の引用符を削除する面白いハックがあります。列を選択し、検索と置換を行い、その他のオプションをクリックし、現在の選択のみ、正規表現を使用します:

search ^(.*)$
replace &

正規表現で言えば、これはsearch anything and replace it by itself. オブジェクト指向では、これにより先頭の引用符が削除されます。

于 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 に答える