python批处理更改csv日期
我试图批量更改csv文件中的日期列值,同时删除字符串的前导部分。当前格式为,例如“公司名称此处2016年10月2日9:43下午”。我需要ISO格式的日期,如“20161021502” 我无法从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,
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)