python批量更改csv日期

时间:2016-11-16 20:02:42

标签: python csv

我正在尝试批量更改csv文件中的日期列值,同时还删除字符串的前导部分。目前的格式是,例如“公司名称在2016年10月2日下午9:43”。我需要ISO格式的日期,比如“20161021502”。

我坚持从csv文件中拆分对象,收到此错误:

Traceback (most recent call last):
  File   "C:\Users\dave\AppData\Local\Programs\Python\Python35\Scripts\dealerTestData.py", line 13, in <module>
month, day, year, time = newDate.split()

ValueError:没有足够的值来解包(预期4,得到2)

到目前为止,我的代码看起来像这样:

dealerFile =  open('C:/Users/dave/Downloads/Prospect_Source_Measurement_Details-    2016112.csv')
dealerReader = csv.reader(dealerFile)
dealerData = list(dealerReader)
dealerData


for index in dealerData:
    newDate = (index[0])[-19:]
    totalDate = repr(newDate)

    month, day, year, time = newDate.split()

    time = datetime.strptime(time, '%I:%M%p')
    month = datetime.strptime(month, '%b')
    totalDate = year + month.strftime('%m') + day + time.strftime('%H%M')
    print(newDate)

如果我注释掉newDate = index[0][-19:]以后的所有内容,可以打印出整个列减去公司名称。一旦我尝试将其表示为字符串并解析它,我就会收到错误。

1 个答案:

答案 0 :(得分:0)

找到答案。在读取文件时,有5个标题行的解析方式与文件正文不同。一旦它们被移除,逻辑就是合理的。