2012-11-09 25 views
5

Google Dokümanlar E-Tablosuna yazacak bir komut dosyası yazmaya çalışıyorum ve çalıştırdığımda başlığın içinde hatayı alıyorum. Daha spesifik olarak:AttributeError: 'str' nesnesinin 'iteritems' öznesi yok

File "/home/pi/Desktop/templog.py", line 44, in <module> 
    s.run() 
    File "/usr/lib/python2.7/sched.py", line 117, in run 
    action(*argument) 
    File "/home/pi/Desktop/templog.py", line 35, in do_something 
    entry = spr_client.InsertRow(data_str, spreadsheet_key, worksheet_id) 
    File "/usr/local/lib/python2.7/dist-packages/gdata/spreadsheet/service.py", line 330, in   InsertRow 
for k, v in row_data.iteritems(): 
AttributeError: 'str' object has no attribute 'iteritems' 

bu neden olan kod parçasıdır:

entry = spr_client.InsertRow(data_str, spreadsheet_key, worksheet_id) 
     if isinstance(entry, gdata.spreadsheet.SpreadsheetsList): 
+0

"InsertRow", ilk parametrenin, değerleri bir dize değil sütun adlarıyla eşleyen bir sözlük olmasını beklediğini düşünüyorum. – eldarerathis

+0

Haklısınız bence - cevap için teşekkürler. – user1813343

cevap

1

row_data bir dize ve aradığınız yöntem değildir, çünkü Hayır, hataya neden çizgi row_data.iteritems() olduğunu 'str' sınıfı için tanımlanmış.

+0

"data_str" nesnesini kullanarak bir dizeye dönüştürmeyi denedim: 'data_str = str (veri)' Burada 'data = commands.getoutput ('pcsensor')' - sadece bir tarih, saat ve sensör okuma. – user1813343

İlgili konular