2017-01-26 11 views
-2

私は時系列プロットを作成しようとしています。私は約50秒間(私の場合はUTC)のデータポイントを毎秒持っています。 Pythonは以下のとおりである私のプロットのx軸のデータの私の配列、について私に叫んでされています。この後のプロットについての他の情報の束がありますリストのコロンのPython構文エラー

%run "C:/Users/Jeff/Desktop/Python/STEPS_data.py" 
File "C:\Users\Jeff\Desktop\Python\STEPS_data.py", line 3 
x = [23:13:51,23:13:52,23:13:53,23:13:54,23:13:55,23:13:56,23:13:57,23:13:58,23:13:59,23:14:00,23:14:01,23:14:02,23:14:03,23:14:04,23:14:05,23:14:06,23:14:07,23:14:08,23:14:09,23:14:10,23:14:11,23:14:12,23:14:13,23:14:14,23:14:15,23:14:16,23:14:17,23:14:18,23:14:19,23:14:20,23:14:21,23:14:22,23:14:23,23:14:24,23:14:25,23:14:26,23:14:27,23:14:28,23:14:29,23:14:30,23:14:31,23:14:32,23:14:33,23:14:34,23:14:35,23:14:36] 
    ^
SyntaxError: invalid syntax 

が、それは、この行にハングアップを取得しますここでは、配列要素23:14:23の最初のコロンに無効な構文エラーがありますが、これは実際にはわかりません。配列を独自の変数x1にしてみて、ちょうどx = x1と言っていますが、それは構文エラーポイントを1文字だけ戻します。

これは本当にばかげた問題のようですが、私は困惑しています。私はあなたが文字列としてそれらを望んでいたと思います

>>> a = 10:2 
    File "<ipython-input-12-63c21fb7e990>", line 1 
    a = 10:2 
     ^
SyntaxError: invalid syntax 

(文字列で:が許可されている):

+3

「:」は許可されていません。それらを文字列としてマークするには、それらを "" "'(つまり、 "23:13:51")で囲むことを忘れましたか? – MSeifert

+0

要素にコロンがある場合、配列の各要素を引用符で囲む必要がありますか? – jwetter10

+0

リストの要素をdatetimeオブジェクトに変換しますか? – MYGz

答えて

1

問題は、たとえば、:はどこにでも許可されていないということです

l = ['23:13:51', '23:13:52', '23:13:53', '23:13:54', '23:13:55', '23:13:56', 
    '23:13:57', '23:13:58', '23:13:59', '23:14:00', '23:14:01', '23:14:02', '23:14:03', 
    '23:14:04', '23:14:05', '23:14:06', '23:14:07', '23:14:08', '23:14:09', '23:14:10', 
    '23:14:11', '23:14:12', '23:14:13', '23:14:14', '23:14:15', '23:14:16', '23:14:17', 
    '23:14:18', '23:14:19', '23:14:20', '23:14:21', '23:14:22', '23:14:23', '23:14:24', 
    '23:14:25', '23:14:26', '23:14:27', '23:14:28', '23:14:29', '23:14:30', '23:14:31', 
    '23:14:32', '23:14:33', '23:14:34', '23:14:35', '23:14:36'] 

場合は、あなたこれらをすべて追加したくない場合は、''を手動で文字列としてラップして分割してください。

>>> l = "[23:13:51,23:13:52,23:13:53,23:13:54,23:13:55,23:13:56,23:13:57,23:13:58,23:13:59,23:14:00,23:14:01,23:14:02,23:14:03,23:14:04,23:14:05,23:14:06,23:14:07,23:14:08,23:14:09,23:14:10,23:14:11,23:14:12,23:14:13,23:14:14,23:14:15,23:14:16,23:14:17,23:14:18,23:14:19,23:14:20,23:14:21,23:14:22,23:14:23,23:14:24,23:14:25,23:14:26,23:14:27,23:14:28,23:14:29,23:14:30,23:14:31,23:14:32,23:14:33,23:14:34,23:14:35,23:14:36]" 
>>> l[1:-1].split(',') 

、またはdatetimeと指定しましたか?

>>> import datetime 
>>> [datetime.datetime.strptime(t, '%H:%M:%S') for t in l[1:-1].split(',')] 

またはtimes?

>>> [datetime.datetime.strptime(t, '%H:%M:%S').time() for t in l[1:-1].split(',')] 
+0

@ jwetter10あなたは大歓迎です:) – MSeifert

+1

@ jwetter10しかし、あなたは答えのどの部分があなたの問題を解決したか教えてくれませんでしたか? :D – MYGz