

質問が不明瞭なままで申し訳ありませんでした

pythonの配列にpsqlに格納したdatetime型のデータを入力しようとすると、最初の一つ目は入るにもかかわらず、二つ目以降は型が違うと言われて入らなくなってしまいます

以下ソースです。

[code]

    # -*-coding:utf-8-*- 
    # -*-coding:unicode-*- 
    import csv 
    import binascii 
    import string 
    import psycopg2 
    import datetime 
    from datetime import datetime as dt 
    
    connection = psycopg2.connect("(省略)") 
    connection.get_backend_pid() 
    
    cur = connection.cursor() 
    # SQLコマンド実行 (今回はテーブル作成) 
    try: 
        cur.execute("CREATE TABLE table(id serial,date date,time time,idm text,deviceid);") 
        print'ファイルを作成しました' 
    except Exception as IOError: 
        print'ファイルが見つかりました' 
    connection.commit() 
    
    i = 0 
    cur.execute("select*from table") 
    #日付の記入 
    now = 0 
    count =0 
    for row in cur: 
    if not now==row[1]: 
    print now,row[1],count 
    date = (row[1]) #配列の作成
    for l in range(count): 
        try: 
            print row[1],date[l],l  
        except Exception as e: 
            break 
        if now!=0 and row[1] == date[l]: 
            break 
        count = count +1 
        count_max =count 
        date = date + row[1]　#配列への追加(ここでエラーが出る)  
        now = row[1] 
        active[row[3],row[1]]=1 
    
[/code]

エラーメッセージ：

[code]

    Traceback (most recent call last): 
    File "actable.py", line 43, in <module> 
    date = date + row[1] 
    TypeError: unsupported operand type(s) for +: 'datetime.date' and　'datetime.date' 
    
[/code]

型が違うと言われても同じ型のはずなので解決策が全く分かりません


CC BY-SA 3.0
2017-07-04T04:56:11.623
36086
2017-07-06T14:31:34.553
2017-07-06T12:14:58.457
24209
24209
question
python
pythonの配列にdatetime型のデータを入力したい


コードの意図を読めていませんが、推測だと、

[code]

    date = (row[1])
    
[/code]

の部分でやりたかったことは

[code]

    date = [row[1]]
    
[/code]

ではなかったでしょうか?

`(row[1])` の括弧は演算の優先度変更の括弧だとされるので、意味を持たない冗長な記述になっています。

あと

[code]

    date = date + row[1]
    
[/code]

も

[code]

    date = date + [row[1]]
    
[/code]

もしくは

[code]

    date.append(row[1])  #こちらの方がよい
    
[/code]

ですね。


CC BY-SA 3.0
2017-07-06T13:38:54.153
36155
2017-07-06T14:31:34.553
2017-07-06T14:31:34.553
12274
12274
36086
answer