python批处理更改csv日期

python批处理更改csv日期,python,csv,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,

我试图批量更改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()

如果我注释掉过去的所有内容
newDate=index[0][19:][/code>可以打印出减去公司名称的整个列。当我试图将其表示为字符串并对其进行解析时,我得到了错误。

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

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

打印
newDate
,看看你得到了什么。它似乎只有两个元素,但您尝试分配给四个变量。实际上,
20161021502
并不是一个有效的ISO 8601日期。您缺少
T
分隔符:
2016102T1502
。请打印
newDate
,然后查看您得到了什么。它似乎只有两个元素,但您尝试分配给四个变量。实际上,
20161021502
并不是一个有效的ISO 8601日期。您缺少分隔符:
2016102T1502
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)