質問編集履歴

3 修正

kohekoh

kohekoh score 136

2017/07/11 17:45  投稿

pythonでjson読み込み 空白を無視したい
python2.7でjsonloadsを使おうとすると
ValueError: No JSON object could be decoded
このようなエラーをはきます
python3.6をもともと使っていて
ちょっと2.7で動かす必要があって、2.7で動かそうとすると
エラーをはきます
```python
a = []
ful = open("tips.txt","r")
   for line in ful:
       json_dict = json.loads(line)
       a.append([json_dict["user_id"],json_dict["business_id"],json_dict["text"]])
   ful.close()
--------------------------------------------------------------
python3.6のときのコード
a = []
ful = open("tips.txt","r",encoding='utf-8_sig')
   for line in ful:
       json_dict = json.loads(line)
       a.append([json_dict["user_id"],json_dict["business_id"],json_dict["text"]])
   ful.close()
```
どうすればよいですか
-------追記---------
```
{"user_id": "ZxdojCZgZhw36xuSGaryRg", "text": "Pizza is garbage. Hoagies are excellent.", "business_id": "5UmKMjUEUNdYWqANhGckJw", "likes": 0, "date": "2016-07-17", "type": "tip"}
{"user_id": "-6rEfobYjMxpUWLNxszaxQ", "text": "Don't waste your time.", "business_id": "cE27W9VPgO88Qxe4ol6y_g", "likes": 0, "date": "2013-04-18", "type": "tip"}
{"user_id": "5OumCBQ_MyQsltSdbMyunA", "text": "Not easy to find. Be sure to put in directions for Rankin Police Department or you will end up at a residential home on the wrong Hawkins Ave. Found it after the third try. Also, it closes at 7pm.", "business_id": "mVHrayjG3uZ_RLHkLj-AMg", "likes": 0, "date": "2016-02-22", "type": "tip"}
{"user_id": "EZ0r9dKKtEGVx2CdnowPCw", "text": "Your GPS will not allow you to find this place. Put Rankin police department in instead. They are directly across the street.", "business_id": "mVHrayjG3uZ_RLHkLj-AMg", "likes": 1, "date": "2013-01-06", "type": "tip"}
{"user_id": "xb6zEQCw9I-Gl0g06e1KsQ", "text": "Great drink specials!", "business_id": "KayYbHCt-RkbGcPdGOThNg", "likes": 0, "date": "2013-12-03", "type": "tip"}
{"user_id": "QawZN4PSW7ng_9SP7pjsVQ", "text": "Friendly staff, good food, great beer selection, and relaxing atmosphere", "business_id": "KayYbHCt-RkbGcPdGOThNg", "likes": 0, "date": "2015-07-08", "type": "tip"}
{"user_id": "8K8qHAH9AREKxIIZAwQ9Fg", "text": "Fantastic! Great food, excellent beer selection! Bartenders are great!", "business_id": "KayYbHCt-RkbGcPdGOThNg", "likes": 0, "date": "2016-02-18", "type": "tip"}
```
このような行が10万行ほどあります
ただ、微妙にjsonと違うというか、表現しにくいのですが
理由あって、jsonloadではなく、jsonloadsで一行づつ読み込んでいます
-----さらに追記------
{"user_id": "ZxdojCZgZhw36xuSGaryRg"
      ↑  
↑矢印の部分に空白があって、そこの部分でエラーがでているようです
id": "Zx の部分に空白があって、そこの部分でエラーがでているようです
ここを無視するようなコード等ありませんか
  • JSON

    2100 questions

    JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

  • Python 2.7

    1712 questions

    Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

2 さらに追記::

kohekoh

kohekoh score 136

2017/07/11 17:44  投稿

追記pythonでjson読み込み
pythonでjson読み込み 空白を無視したい
python2.7でjsonloadsを使おうとすると
ValueError: No JSON object could be decoded
このようなエラーをはきます
python3.6をもともと使っていて
ちょっと2.7で動かす必要があって、2.7で動かそうとすると
エラーをはきます
```python
a = []
ful = open("tips.txt","r")
   for line in ful:
       json_dict = json.loads(line)
       a.append([json_dict["user_id"],json_dict["business_id"],json_dict["text"]])
   ful.close()
--------------------------------------------------------------
python3.6のときのコード
a = []
ful = open("tips.txt","r",encoding='utf-8_sig')
   for line in ful:
       json_dict = json.loads(line)
       a.append([json_dict["user_id"],json_dict["business_id"],json_dict["text"]])
   ful.close()
```
どうすればよいですか
-------追記---------
```
{"user_id": "ZxdojCZgZhw36xuSGaryRg", "text": "Pizza is garbage. Hoagies are excellent.", "business_id": "5UmKMjUEUNdYWqANhGckJw", "likes": 0, "date": "2016-07-17", "type": "tip"}
{"user_id": "-6rEfobYjMxpUWLNxszaxQ", "text": "Don't waste your time.", "business_id": "cE27W9VPgO88Qxe4ol6y_g", "likes": 0, "date": "2013-04-18", "type": "tip"}
{"user_id": "5OumCBQ_MyQsltSdbMyunA", "text": "Not easy to find. Be sure to put in directions for Rankin Police Department or you will end up at a residential home on the wrong Hawkins Ave. Found it after the third try. Also, it closes at 7pm.", "business_id": "mVHrayjG3uZ_RLHkLj-AMg", "likes": 0, "date": "2016-02-22", "type": "tip"}
{"user_id": "EZ0r9dKKtEGVx2CdnowPCw", "text": "Your GPS will not allow you to find this place. Put Rankin police department in instead. They are directly across the street.", "business_id": "mVHrayjG3uZ_RLHkLj-AMg", "likes": 1, "date": "2013-01-06", "type": "tip"}
{"user_id": "xb6zEQCw9I-Gl0g06e1KsQ", "text": "Great drink specials!", "business_id": "KayYbHCt-RkbGcPdGOThNg", "likes": 0, "date": "2013-12-03", "type": "tip"}
{"user_id": "QawZN4PSW7ng_9SP7pjsVQ", "text": "Friendly staff, good food, great beer selection, and relaxing atmosphere", "business_id": "KayYbHCt-RkbGcPdGOThNg", "likes": 0, "date": "2015-07-08", "type": "tip"}
{"user_id": "8K8qHAH9AREKxIIZAwQ9Fg", "text": "Fantastic! Great food, excellent beer selection! Bartenders are great!", "business_id": "KayYbHCt-RkbGcPdGOThNg", "likes": 0, "date": "2016-02-18", "type": "tip"}
```
このような行が10万行ほどあります
ただ、微妙にjsonと違うというか、表現しにくいのですが
理由あって、jsonloadではなく、jsonloadsで一行づつ読み込んでいます
理由あって、jsonloadではなく、jsonloadsで一行づつ読み込んでいます
-----さらに追記------
{"user_id": "ZxdojCZgZhw36xuSGaryRg"
      ↑
↑矢印の部分に空白があって、そこの部分でエラーがでているようです
ここを無視するようなコード等ありませんか
  • JSON

    2100 questions

    JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

  • Python 2.7

    1712 questions

    Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

1 追記

kohekoh

kohekoh score 136

2017/07/11 16:57  投稿

pythonでjson読み込み
追記pythonでjson読み込み
python2.7でjsonloadsを使おうとすると
ValueError: No JSON object could be decoded
このようなエラーをはきます
python3.6をもともと使っていて
ちょっと2.7で動かす必要があって、2.7で動かそうとすると
エラーをはきます
```python
a = []
ful = open("tips.txt","r")
   for line in ful:
       json_dict = json.loads(line)
       a.append([json_dict["user_id"],json_dict["business_id"],json_dict["text"]])
   ful.close()
--------------------------------------------------------------
python3.6のときのコード
a = []
ful = open("tips.txt","r",encoding='utf-8_sig')
   for line in ful:
       json_dict = json.loads(line)
       a.append([json_dict["user_id"],json_dict["business_id"],json_dict["text"]])
   ful.close()
```
どうすればよいですか
どうすればよいですか
-------追記---------
```
{"user_id": "ZxdojCZgZhw36xuSGaryRg", "text": "Pizza is garbage. Hoagies are excellent.", "business_id": "5UmKMjUEUNdYWqANhGckJw", "likes": 0, "date": "2016-07-17", "type": "tip"}
{"user_id": "-6rEfobYjMxpUWLNxszaxQ", "text": "Don't waste your time.", "business_id": "cE27W9VPgO88Qxe4ol6y_g", "likes": 0, "date": "2013-04-18", "type": "tip"}
{"user_id": "5OumCBQ_MyQsltSdbMyunA", "text": "Not easy to find. Be sure to put in directions for Rankin Police Department or you will end up at a residential home on the wrong Hawkins Ave. Found it after the third try. Also, it closes at 7pm.", "business_id": "mVHrayjG3uZ_RLHkLj-AMg", "likes": 0, "date": "2016-02-22", "type": "tip"}
{"user_id": "EZ0r9dKKtEGVx2CdnowPCw", "text": "Your GPS will not allow you to find this place. Put Rankin police department in instead. They are directly across the street.", "business_id": "mVHrayjG3uZ_RLHkLj-AMg", "likes": 1, "date": "2013-01-06", "type": "tip"}
{"user_id": "xb6zEQCw9I-Gl0g06e1KsQ", "text": "Great drink specials!", "business_id": "KayYbHCt-RkbGcPdGOThNg", "likes": 0, "date": "2013-12-03", "type": "tip"}
{"user_id": "QawZN4PSW7ng_9SP7pjsVQ", "text": "Friendly staff, good food, great beer selection, and relaxing atmosphere", "business_id": "KayYbHCt-RkbGcPdGOThNg", "likes": 0, "date": "2015-07-08", "type": "tip"}
{"user_id": "8K8qHAH9AREKxIIZAwQ9Fg", "text": "Fantastic! Great food, excellent beer selection! Bartenders are great!", "business_id": "KayYbHCt-RkbGcPdGOThNg", "likes": 0, "date": "2016-02-18", "type": "tip"}
```
このような行が10万行ほどあります
ただ、微妙にjsonと違うというか、表現しにくいのですが
理由あって、jsonloadではなく、jsonloadsで一行づつ読み込んでいます
  • JSON

    2100 questions

    JSON(JavaScript Object Notation)は軽量なデータ記述言語の1つである。構文はJavaScriptをベースとしていますが、JavaScriptに限定されたものではなく、様々なソフトウェアやプログラミング言語間におけるデータの受け渡しが行えるように設計されています。

  • Python 2.7

    1712 questions

    Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る