我正在尝试批量更改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:]
以后的所有内容,可以打印出整个列减去公司名称。一旦我尝试将其表示为字符串并解析它,我就会收到错误。
答案 0 :(得分:0)
找到答案。在读取文件时,有5个标题行的解析方式与文件正文不同。一旦它们被移除,逻辑就是合理的。