使用python将日期时间转换为mysql格式



我正在尝试将Excel中的日期格式转换为可以读取到MySQL数据库中的格式。我使用python处理日期列,将其导出回csv文件,然后将其转储到MySQL表中。

以下是日期列的样子:

Date
6/10/13
6/17/13
6/24/13

我希望它的格式是:2013-06-10或("%Y-%m-%d")

这是我的代码:

import datetime
import csv
def read(filename):
  new_date=[]
  cr = csv.reader(open(filename,"rU").readlines()[1:], dialect='excel')
  for row in cr:
    # print row[0]
    cols=datetime.datetime.strptime(row[0] , "%m/%d/%y" )
    newcols=cols.strftime("%Y-%m-%d")
    # print newcols
    new_date.append(newcols)
  print new_date[0]
  with open('new_file.csv', 'wb') as f:
    writer = csv.writer(f)
    for date in new_date:
        writer.writerow([date])

代码会运行,但当我打开new_file.csv时,日期列会自动恢复到excel中的旧格式。

我该怎么改?

谢谢,

您是否尝试过在简单的文本编辑器(例如记事本)中打开.csv,以查看日期是否正确打印到该文件?我的猜测是,能够识别日期的Excel只是在你打开文件时将其重新格式化为默认日期格式,如果你在一个简单的文本编辑器中打开.csv文件进行检查,你会发现你的代码已经正确地重新格式化了csv中的日期。

(默认情况下,Excel的日期格式与您在"控制面板"中指定的格式相同,您可以在"控制板"中更改默认日期格式以更改Excel的默认格式。)

您可以按照文档中的说明更改Excel设置日期格式的方式。

  1. 选择要设置格式的单元格
  2. 按CTRL+1
  3. 在"设置单元格格式"框中,单击"数字"选项卡
  4. 在"类别"列表中,单击"日期"

如果您看到的格式不存在,则可以从此菜单创建自定义日期格式。详细信息请点击此处。

相关内容

  • 没有找到相关文章

最新更新