• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:楽天RSSからpythonでデータ取り込み)

楽天RSSからpythonでデータ取り込み

このQ&Aのポイント
  • 楽天RSS(RealtimeSpreadSheet)からpythonを使用して直接価格データなどを取り込みたいと思っています。
  • 参考サイトのコードを実行したところ、SyntaxError: invalid syntaxというエラーが発生しました。
  • データを読み込む方法をいくつか試しましたが、いずれの方法でも同じエラーが発生します。どこを修正すれば良いでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • heburusu
  • ベストアンサー率85% (140/164)
回答No.1

Pythonのバージョン違いによるエラーかと思います。 >Python 2 では括弧が追加されても問題ありませんが、 >Python 3 では対称的に Python 2 のやり方で括弧のないprint関数は SyntaxError になります。 blogのプログラムは恐らく2.7系のPythonで記述&実行されたのではないでしょうか? 2.7系のpythonをWindowsにインストールし直す or プログラムを3系用に修正が必要みたいですね。

参考URL:
http://postd.cc/the-key-differences-between-python-2-7-x-and-python-3-x-with-examples/
ding2
質問者

お礼

ありがとうございます。 print文を()で囲むよう修正したのですが、やはり別のエラーが出てしまいます。 >python RSS2.py File "RSS2.py", line 9 SyntaxError: Non-UTF-8 code starting with '¥x8c' in file RSS2.py on line 9, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details (下記の追加を行う前の状態において) UTF-8 が何たらと出ているので #!c:/Python34/python.exe import codecs を追加しましたがまだうまくいきません。 >python RSS2.py File "RSS2.py", line 11 SyntaxError: (unicode error) 'utf-8' codec can't decode byte 0x8c in position 0: invalid start byte >type RSS2.py #!c:/Python34/python.exe # -*- coding: utf-8 -*- import codecs import win32ui import dde s = dde.CreateServer() s.Create('RSS') c = dde.CreateConversation(s) def get_price(code): c.ConnectTo('RSS', code) ask = c.Request(u'現在値') return (ask) print(get_price('N225.FUT01.OS')) 自分でもネット上の資料の解読を試みてみますが、 何かお分かりになることはどうぞご教示下さい。

ding2
質問者

補足

楽天RSSから表計算ソフトへのデータ読み込みはやはりちゃんとうまくいっている状態ですが、 次のようなエラーが出ています。 dde のことを少し調べてみます。 >python RSS4.py Traceback (most recent call last): File "RSS4.py", line 14, in <module> print(get_price('N225.FUT01.OS')) File "RSS4.py", line 12, in get_price ask = c.Request('現在値') dde.error: Request failed >type RSS4.py #!c:/Python34/python.exe # -*- coding: shift-jis -*- import os, sys import codecs import win32ui import dde s = dde.CreateServer() s.Create('RSS') c = dde.CreateConversation(s) def get_price(code): c.ConnectTo('RSS', code) ask = c.Request('現在値') return (ask) print(get_price('N225.FUT01.OS'))

関連するQ&A