【问题标题】:How to turn a comma-delimited list of date attributes into a MySQL date value?如何将逗号分隔的日期属性列表转换为 MySQL 日期值?
【发布时间】:2012-04-11 14:28:01
【问题描述】:

不确定我的标题措辞是否正确,但这里是。我有一个与此格式相似的作业文件:

423720,hparviz,RUN,512,22,Mar,10:38,11,April,14:06

基本上,我需要将开始日期和结束日期转换为允许我将其导入 mysql 的格式(22-Mar 10:38 - 11-Apr 14:06 或者 MySQL 需要格式化日期) .这些数据是使用 linux 中的命令提取的,我在其中处理结果以允许导入 MySQL 数据库。在 Linux(在命令期间)、在 Python(在我显示的状态下)或 MySQL(在导入之后)中操作会更容易吗?

如果您需要更多详细信息,请告诉我,谢谢。

【问题讨论】:

  • 这在 Python 中非常简单。您在哪个部分遇到了问题?
  • 因为我有大约 50 行类似格式的其他行,我如何使用循环选择日期、月份和时间?
  • 你可能想看看LOAD DATA INFILE

标签: python mysql shell


【解决方案1】:

假设每一行都像你发布的那样:

f=open(filename,"r")
listOfLines=f.readlines()
for line in listOfLines:
    splitLine=line.split(",")
    print "Day of Month: "+splitLine[4]#this is an example of one piece of info.
    print "Month: "+splitLine[5]#this is an example of one piece of info.

【讨论】:

  • 考虑不使用readlines,而是直接遍历文件。
【解决方案2】:

您可以使用string.split(',') 拆分行。 您可以使用 time.strftime 转换日期

【讨论】:

    【解决方案3】:
    process to create data | awk -F, -v OFS=, '
      function format_date(day, mon, time) {
        return sprintf("%s-%s %s", day, substr(mon,1,3), time)
      }
      {print $1,$2,$3,$4,format_date($5,$6,$7),format_date($8,$9,$10)}
    '
    

    输出

    423720,hparviz,RUN,512,22-Mar 10:38,11-Apr 14:06
    

    根据需要更改格式字符串。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-31
      • 1970-01-01
      • 1970-01-01
      • 2016-08-18
      相关资源
      最近更新 更多