我从我的客户机得到csv文件,其中包含可变数量的列。在这些列中,可能有一些列包含日期字符串,但未定义顺序,例如:
column1str|column2dt|column3str|column4int|column5int|column6dt
ab c1|10/20/2010|1234|10.02|530.55|30-01-2011
ab c2|10/10/2010|12346|11.03|531|05-05-2012
abc3|10/10/2010|122|12|532.44|11-09-2008
abc4|10/11/2010|110|13|533|01-11-2013
abc5|10/10/2010|11111|14|534|30-02-2012
我从客户端得到日期字符串的格式作为输入,在上面的输入中有两种格式的日期字符串MM/dd/yyyy
和{
我想转换文件中所有日期的格式dd-MM-yyyyTHH:mmZ
。我知道当输入日期格式给定时,如何将日期字符串转换为所需的日期字符串。我在这里面临的挑战是如何替换文件中特定列的日期字符串。在
首先,请阅读本文以供Python参考日期时间.strptime()格式字符串: https://docs.python.org/3.5/library/datetime.html#strftime-strptime-behavior
以及CSV解析:https://docs.python.org/3.5/library/csv.html
我的答案将只使用标准Python。作为一个有效的替代方案,您可以使用一个专门的数据分析库,如已经建议的pandas。在
您的}将是{}。在
MM/dd/yyyy
将是strptime格式的%m/%d/%Y
(实际上是C标准格式),而{现在我不确定您是希望python脚本“自动发现”日期,还是希望能够手动指定适当的列和格式。因此,我建议两个脚本:
这将转换“输入日期格式”映射中指定的列名称和输入格式中的所有日期:
这将尝试使用input_DATE_格式指定的所有格式来解析输入文件中的每个字段,并将这些日期用OUTPUT_DATE_格式格式化后写入一个新文件:
^{pr2}$试试这个:
相关问题 更多 >
编程相关推荐