我一直在这里得到一个值错误。我做错了什么?我正在读写的CSV没有每个日期条目的时间戳。日期仅以“mm dd yyyy”格式输入
Traceback (most recent call last):
File "C:/Users/Matthew Olive/PycharmProjects/excel_scripts/contango_cleaner.py", line 17, in <module>
dateS = datetime.strptime(row[2], "%m-%d-%Y")
File "C:\Users\Matthew Olive\AppData\Local\Programs\Python\Python38\lib\_strptime.py", line 568, in _strptime_datetime
tt, fraction, gmtoff_fraction = _strptime(data_string, format)
File "C:\Users\Matthew Olive\AppData\Local\Programs\Python\Python38\lib\_strptime.py", line 349, in _strptime
raise ValueError("time data %r does not match format %r" %
ValueError: time data '' does not match format '%m-%d-%Y'
这是我的密码:
import csv
from datetime import datetime
path = "C:\\Users\\Matthew Olive\\Desktop\\Trading Stuff\\sample_for_python .csv"
file = open(path, newline = '')
reader = csv.reader(file)
data =[]
for row in reader:
dateC = datetime.strptime(row[0], "%m-%d-%Y")
dateS = datetime.strptime(row[2], "%m-%d-%Y")
contango = float(row[1])
open_price = float(row[3])
close_price = float(row[4])
data.append([dateC, contango, dateS, open_price, close_price])
print(data[0])
当我试图将日期字符串转换为适当的datetime对象时,问题似乎出现了。该程序的最终目标是“如果dateC与日期不匹配,则删除该特定行中的第一个和第二个条目。然后创建一个新的CSV文件并将其导出到Excel。我正在尝试自动执行一个我经常手动执行的过程。(对于每一行,如果前两列在第三列、第四列和第五列中没有匹配的日期和浮点值,则不需要前两列)
以下是我的CSV的结构(列): dateC和dateS应该是datetime对象,而其他对象是浮动对象
[日期,续,日期,开盘价,收盘价]
我的评论的例证;如何使用
pandas
解决这个问题:一些参考资料:
相关问题 更多 >
编程相关推荐