matlabファイルのシリアル日付番号データをPythonを使用してUTCに変換しようとしています。長さ1の配列しかPythonスカラーに変換できませんmatlabキーを使用する場合
from datetime import *
import scipy.io as sio
import toutc as toutc
from numpy import *
from plotting import *
import matplotlib.pyplot as plt
S = sio.loadmat(*MatLab_File.mat*)
print (S.keys()) # Time is stored as the key 't'
from datetime import datetime, timedelta
SDN = S[str(input('time'))] # Establishing we are using the key 't'
X = (datetime.fromordinal(SDN) + timedelta(days=SDN%1) - timedelta(days = 366))
この最後の行は
Traceback (most recent call last):
File "matgraph.py", line 19, in <module>
X = (datetime.fromordinal(SDN) + timedelta(days=SDN%1) - timedelta(days = >366))
TypeError: only length-1 arrays can be converted to Python scalars
これが機能しない理由任意のアイデアを返しますか?あなたがfromordinal[SDN]
代わりのfromordinal(SDN)
を持って
する必要があります 'datetime.fromordinal'は方法ですが、' [SDN] 'でそれにサブスクリプションを使用しようとしています。ほとんどの場合、 'datetime.fromordinal(SDN)'を代わりに使用することになりました。 –
@MartijnPietersあなたはここの上司ですが、質問:なぜこれは話題ですか?それは誤植ではないかもしれませんが、正直な "私は何をしているのか分かりません"。答えに値するはずがありませんか? –
@AnderBiguri:トピック外の理由の説明を参照してください。これは*将来の訪問者には役に立たない*。 –