私はコードを実行するとPythonを初めて使用しているときにエラーが発生します。Pythonの解析機能でエラーが発生しました
このAmazonデータセットは、JSONファイル (json形式については下記を参照してください)としてフォーマットされています。
{
"reviewerID": "A2SUAM1J3GNN3B",
"asin": "0000013714",
"reviewerName": "J. McDonald",
"helpful": [2, 3],
"reviewText": "I bought this for my husband who plays the piano. He is
having a wonderful time playing these old hymns. The music is at times
hard to read because we think the book was published for singing from more
than playing from. Great purchase though!",
"overall": 5.0,
"summary": "Heavenly Highway Hymns",
"unixReviewTime": 1252800000,
"reviewTime": "09 13, 2009"
}
私が使用しているコマンドは、「厳密JSON」ファイル(元のJSONファイルは、データ送信者に基づいて厳密JSONではない)に上方JSONファイルを変換する、データ送信者によって提供されます。
次のようにそれらが提供するコマンドがある:\ Users \ユーザーデイジー\研究:私は引用符でJSONファイル(例えば、「Cのディレクトリを入れて、パスを変更した
import json
import gzip
def parse(path):
g = gzip.open(path, 'r')
for l in g:
yield json.dumps(eval(l))
f = open("output.strict", 'w')
for l in parse("reviews_Video_Games.json.gz"):
f.write(l + '\n')
\アマゾン\ reviews_Video_Games.json.gz ")たとえば
\研究は、私が走ったコードは次のようになります。
import json
import gzip
def parse(C:\Users\daisy\Research\study\Amazon\reviews_Video_Games.json.gz):
g = gzip.open(C:\Users\daisy\Research\study\Amazon\reviews_Video_Games.json.gz, 'r')
for l in g:
yield json.dumps(eval(l))
f = open("output.strict", 'w')
for l in parse("reviews_Video_Games.json.gz"):
f.write(l + '\n')
をしかし、私は次のエラーを取得する:
C:\Users\daisy\AppData\Local\Programs\Python\Python36-32>python C:\Users\daisy\AppData\Local\Programs\Python\strict_json.py
File "C:\Users\daisy\AppData\Local\Programs\Python\strict_json.py", line 4
def parse("C:\Users\daisy\Research\study\Amazon\reviews_Video_Games.json.gz"):
^
SyntaxError: invalid syntax
構文に間違いがありますか?
また、元のコードはデータ送信者によって指定されていますので、コードが正しいと確信しています。私は私のファイルディレクトリに 'パス'を変更したときに何か間違ったことをしたと思う。
ありがとうございます。
を符号化するために、 'defの解析(C:\ Users \ユーザーデイジー\研究\ study \ Amazon \ reviews_Video_Games.json.gz): '?? –
この関数はそのまま使用することを意図していました。 'path'は関数を呼び出すときに指定するパラメータであり、関数定義自体で変更するものではありません。 – jasonharper
それはどのように動作しません。関数をコールしたときに値を代入する必要があります。つまり、 'for I in parse(r" C:\ Users \ daisy \ Research \ study \ Amazon \ reviews_Video_Games.json.gz ")です。 '' ... ''とし、それを' '生の文字列にするほうが良い。 –