質問編集履歴
4
traceback 記載しました。
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -39,7 +39,7 @@ | |
| 39 39 | 
             
            ```
         | 
| 40 40 | 
             
            調べても原因がよくわからない初心者です。
         | 
| 41 41 |  | 
| 42 | 
            -
            ###発生している | 
| 42 | 
            +
            ###Traceback (発生しているメッセージ)
         | 
| 43 43 |  | 
| 44 44 | 
             
            ```
         | 
| 45 45 | 
             
            runfile('/Users/yo/Downloads/json_l.py', wdir='/Users/yo/Downloads')
         | 
3
エラーメッセージを記載しました。
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -39,4 +39,35 @@ | |
| 39 39 | 
             
            ```
         | 
| 40 40 | 
             
            調べても原因がよくわからない初心者です。
         | 
| 41 41 |  | 
| 42 | 
            +
            ###発生している問題・エラーメッセージ
         | 
| 43 | 
            +
             | 
| 44 | 
            +
            ```
         | 
| 45 | 
            +
            runfile('/Users/yo/Downloads/json_l.py', wdir='/Users/yo/Downloads')
         | 
| 46 | 
            +
            Traceback (most recent call last):
         | 
| 47 | 
            +
             | 
| 48 | 
            +
              File "<ipython-input-7-41ae6a345b74>", line 1, in <module>
         | 
| 49 | 
            +
                runfile('/Users/yo/Downloads/json_l.py', wdir='/Users/yo/Downloads')
         | 
| 50 | 
            +
             | 
| 51 | 
            +
              File "/Users/yo/anaconda/lib/python2.7/site-packages/spyder/utils/site/sitecustomize.py", line 880, in runfile
         | 
| 52 | 
            +
                execfile(filename, namespace)
         | 
| 53 | 
            +
             | 
| 54 | 
            +
              File "/Users/yo/anaconda/lib/python2.7/site-packages/spyder/utils/site/sitecustomize.py", line 94, in execfile
         | 
| 55 | 
            +
                builtins.execfile(filename, *where)
         | 
| 56 | 
            +
             | 
| 57 | 
            +
              File "/Users/yo/Downloads/json_l.py", line 19, in <module>
         | 
| 58 | 
            +
                data.append(json.loads(i))
         | 
| 59 | 
            +
             | 
| 60 | 
            +
              File "/Users/yo/anaconda/lib/python2.7/json/__init__.py", line 339, in loads
         | 
| 61 | 
            +
                return _default_decoder.decode(s)
         | 
| 62 | 
            +
             | 
| 63 | 
            +
              File "/Users/yo/anaconda/lib/python2.7/json/decoder.py", line 364, in decode
         | 
| 64 | 
            +
                obj, end = self.raw_decode(s, idx=_w(s, 0).end())
         | 
| 65 | 
            +
             | 
| 66 | 
            +
              File "/Users/yo/anaconda/lib/python2.7/json/decoder.py", line 380, in raw_decode
         | 
| 67 | 
            +
                obj, end = self.scan_once(s, idx)
         | 
| 68 | 
            +
             | 
| 69 | 
            +
            ValueError: Unterminated string starting at: line 1 column 131 (char 130)
         | 
| 70 | 
            +
            ```
         | 
| 71 | 
            +
             | 
| 72 | 
            +
             | 
| 42 73 | 
             
            どなたか同じ経験がある方がおりましたら、どういう状況なのか、改善案のヒントとなることがあれば教えていただけませんでしょうか?
         | 
2
扱っているjsonlファイルの中身を追加しました。
    
        title	
    CHANGED
    
    | 
            File without changes
         | 
    
        body	
    CHANGED
    
    | @@ -33,10 +33,10 @@ | |
| 33 33 |  | 
| 34 34 | 
             
            というエラーが出ており、処理を進められません。
         | 
| 35 35 |  | 
| 36 | 
            -
            扱っているjsonファイルの中身は以下のようなものです。
         | 
| 37 | 
            -
             | 
| 38 | 
            -
             | 
| 39 | 
            -
             | 
| 36 | 
            +
            扱っているjsonファイルの中身は以下のようなものです。(先頭1行)
         | 
| 37 | 
            +
            ```jsonl
         | 
| 38 | 
            +
            {"video_id":"nm16580085","watch_num":81,"comment_num":2,"mylist_num":0,"title":"ほとんど紅魔郷風","description":"初投です。まだまだ未熟ですが・・・・よろしくおねがいします","category":"東方","tags":["東方"],"upload_time":1325364768,"file_type":"swf","length":281,"size_high":3125649,"size_low":3125596}
         | 
| 39 | 
            +
            ```
         | 
| 40 40 | 
             
            調べても原因がよくわからない初心者です。
         | 
| 41 41 |  | 
| 42 42 | 
             
            どなたか同じ経験がある方がおりましたら、どういう状況なのか、改善案のヒントとなることがあれば教えていただけませんでしょうか?
         | 
1
ソースコードを記載しました。
    
        title	
    CHANGED
    
    | @@ -1,1 +1,1 @@ | |
| 1 | 
            -
            Python & JSON: ValueError: Unterminated string starting at:
         | 
| 1 | 
            +
            Python & JSON: ValueError: Unterminated string starting at:のエラーで困っています。
         | 
    
        body	
    CHANGED
    
    | @@ -1,12 +1,42 @@ | |
| 1 1 | 
             
            jsonファイルからtags部分のみを抽出して新しいファイルに書き出すという作業をしています。
         | 
| 2 2 | 
             
            環境はMacでpython2.7(anaconda経由)を使用しております。
         | 
| 3 3 |  | 
| 4 | 
            +
            ソースコードは以下の通りです。
         | 
| 5 | 
            +
             | 
| 6 | 
            +
            ```python
         | 
| 7 | 
            +
            import codecs
         | 
| 8 | 
            +
            import json
         | 
| 9 | 
            +
            import glob
         | 
| 10 | 
            +
             | 
| 11 | 
            +
             | 
| 12 | 
            +
            allfile = glob.glob("*.jsonl")
         | 
| 13 | 
            +
             | 
| 14 | 
            +
            for file in allfile:
         | 
| 15 | 
            +
                data = []
         | 
| 16 | 
            +
                with codecs.open(file,"r","utf-8") as f:
         | 
| 17 | 
            +
                    for i in f:
         | 
| 18 | 
            +
                        data.append(json.loads(i))
         | 
| 19 | 
            +
                        
         | 
| 20 | 
            +
                text = []
         | 
| 21 | 
            +
                for i in data:
         | 
| 22 | 
            +
                    text.extend(i["tags"])
         | 
| 23 | 
            +
                
         | 
| 24 | 
            +
                with codecs.open("new_tags.txt","a","utf-8") as nt:
         | 
| 25 | 
            +
                    for txt in text:
         | 
| 26 | 
            +
                        nt.writelines(txt+"\n")
         | 
| 27 | 
            +
            ```
         | 
| 28 | 
            +
             | 
| 29 | 
            +
             | 
| 4 30 | 
             
            始めはうまく抽出処理ができていたのですが、途中のファイルから
         | 
| 5 31 |  | 
| 6 32 | 
             
            ValueError: Unterminated string starting at: line 1 column 131 (char 130)
         | 
| 7 33 |  | 
| 8 34 | 
             
            というエラーが出ており、処理を進められません。
         | 
| 9 35 |  | 
| 36 | 
            +
            扱っているjsonファイルの中身は以下のようなものです。
         | 
| 37 | 
            +
             | 
| 38 | 
            +
             | 
| 39 | 
            +
             | 
| 10 40 | 
             
            調べても原因がよくわからない初心者です。
         | 
| 11 41 |  | 
| 12 42 | 
             
            どなたか同じ経験がある方がおりましたら、どういう状況なのか、改善案のヒントとなることがあれば教えていただけませんでしょうか?
         | 
