简体   繁体   English

尝试修改脚本以采用时间戳记日期格式而不是%Y-%m-%d格式[Python]

[英]Trying to Modify a Script to Take Timestamp Date Format Instead of %Y-%m-%d Format [Python]

Pulling dates from a csv in Timestamp format (ex. 1504159200). 以时间戳格式(例如1504159200)从csv中提取日期。
I'm plugging these into a script suited for Ymd format. 我将它们插入适合Ymd格式的脚本中。

[The code is a massive LSTM script so hopefully the original lines and what I tried on them will suffice] [该代码是一个庞大的LSTM脚本,因此希望原始代码行以及我对它们所做的尝试都足够了]

startDate = 1504159200  
endDate = 1519974000

Original lines without modifying... 原始行,无需修改...

sd = datetime.strptime(startDate, '%Y-%m-%d')
ed = datetime.strptime(endDate, '%Y-%m-%d')

Traceback (most recent call last):
File "stocks.py", line 91, in <module>
p, n = Main(['last_vix_92_18.csv', '1504159200', '1519974000', 'D'])
File "stocks.py", line 78, in Main
P = sp.PredictDate(args[1], args[2], predPrd)
File "/home/eagle/predict/dragon/pythonml-master/Stocks/StockPredictor.py", line 282, in PredictDate
ts = DateRange(startDate, endDate, period)[::-1]
File "/home/eagle/predict/dragon/pythonml-master/Stocks/StockPredictor.py", line 30, in DateRange
sd = datetime.strptime(startDate, '%Y-%m-%d')
File "/usr/lib/python3.5/_strptime.py", line 510, in _strptime_datetime
tt, fraction = _strptime(data_string, format)
File "/usr/lib/python3.5/_strptime.py", line 343, in _strptime
(data_string, format))
ValueError: time data '1504159200' does not match format '%Y-%m-%d'

I've tried modifying the code thusly with the following error below. 我尝试过修改代码,并出现以下错误。

sd = datetime(int(startDate)).timestamp()
ed = datetime(int(endDate)).timestamp()  

Traceback (most recent call last):
File "stocks.py", line 91, in <module>
p, n = Main(['last_vix_92_18.csv', '1504159200', '1519974000', 'D'])
File "stocks.py", line 78, in Main
P = sp.PredictDate(args[1], args[2], predPrd)
File "/home/eagle/predict/dragon/pythonml-master/Stocks/StockPredictor.py", line 284, in PredictDate
ts = DateRange(startDate, endDate, period)[::-1]
File "/home/eagle/predict/dragon/pythonml-master/Stocks/StockPredictor.py", line 31, in DateRange
sd = datetime(int(startDate)).timestamp()
TypeError: Required argument 'month' (pos 2) not found

Just use datetime.datetime.fromtimestamp : 只需使用datetime.datetime.fromtimestamp

from datetime import datetime

datetime.fromtimestamp(1504159200)  # datetime.datetime(2017, 8, 31, 2, 0)
datetime.fromtimestamp(1519974000)  # datetime.datetime(2018, 3, 2, 2, 0)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM