programing

읽을 수 없는 노트북 Not JSONError ('노트북은 JSON이 아닌 것 같습니다: u\'{\n "cells": "...", )

closeapi 2023. 3. 22. 21:13
반응형

읽을 수 없는 노트북 Not JSONError ('노트북은 JSON이 아닌 것 같습니다: u\'{\n "cells": "...", )

ipython 노트북을 로드하려고 하면 매우 이상한 오류가 발생합니다.전에는 가져본 적이 없고, 내 기억으로는 ipython으로 바보 같은 짓을 한 기억이 없다.

Unreadable Notebook: /path/to/notebooks/results.ipynb NotJSONError('Notebook does not appear to be JSON: u\'{\\n "cells": [\\n  {\\n   "cell_type": "...',)

그 뒤에

400 GET /api/contents/results.ipynb?type=notebook&_=1440010858974 (127.0.0.1) 36.17ms referer=http://localhost:8888/notebooks/results.ipynb

머리 아프지 마세요.온라인 JSON 검증기에서 .ipynb를 열면 문제가 있는 행을 알 수 있습니다.이거 썼어.

제 경우, 저는 GitHub을 사용하여 ipython 파일을 저장하고 동료와 공유합니다.코드에 경합이 있는 경우, 다음과 같이 경합하는 코드의 변경을 나타내는 행을 삭제해야 했습니다.

>>>>>>>>head
=============

나한테는 효과가 있어

저도 이런 일이 있었어요.메모장을 사용하여 data.ipynb 파일을 열어보니 비어 있었습니다.

숨겨진 ipynb_checkpoints 폴더에 들어가 data_checkpoint.ipynb를 작업 디렉토리에 복사하여 파일을 복구할 수 있었습니다.

Mac OS 터미널에서

cd .ipynb_checkpoints
cp data-checkpoint.ipynb \..

다행히 코드는 보존되어 있었다.이게 도움이 됐으면 좋겠네요!

IPython 0.13(약)에서 Jupyter 4로 업그레이드한 후에도 같은 문제가 발생하였습니다.

이 경우 JSON 내의 몇 개의 부정한 후행 콤마가 문제였습니다.예를 들어, 다음의 「outputs」에 이어지는 쉼표입니다.

...
 "language": "python",
 "metadata": {},
 "outputs": [],
},

쉼표 삭제 후 주피터/IPython은 노트북을 다시 읽을 수 있었습니다(그리고 버전 4로 업그레이드).이게 도움이 됐으면 좋겠어요.

텍스트 포함 여부에 관계없이 손상된 Jupyter 노트북 파일을 복구하는 가장 쉬운 방법(크기 = 0KB)은 프로젝트 폴더로 이동하여 숨겨진 파일을 표시하는 것입니다.숨겨진 파일이 표시되면 '.ipynb_checkpoints'라는 이름의 폴더가 나타납니다.이 폴더를 열고 원하는 파일을 가져오기만 하면 됩니다!

Visual Studio 코드 절차

이건 내가 어둠 속에서 더듬는 걸 피하는 수술이야

  1. 이것과 같은 json 파서 검증기를 설치했습니다.
  2. 파일을 열고 복사본을 .json 파일로 저장합니다.
  3. json을 열고 오류를 찾습니다.
  4. .ipynb 확장자에 저장합니다.

보통, 저는 오류를 빨리 고칩니다.

주피터는 특정한 방법으로 자동 저장한다.이는 노트북을 올바르게 저장하기 전에 실수로 노트북을 닫았음을 의미합니다.

세 가지를 찾아야 합니다.

  • (Search(검))<<<<<<<그 행을 삭제합니다.
  • (Search(검))======을 「」로 합니다.,.
  • (Search(검))>>>>>>>그 행을 삭제합니다.

이거 끝나면 잘 될 거예요.

ipynb 파일을 주피터 노트북에서 읽을 수 있도록 다시 포맷하도록 변경할 수 있습니다.다른 ipynb 파일(메모장에서 열림)이 주피터 노트북에서 정상적으로 작동하고 있는지 확인하고 메모장에 있는 파일 끝에 있는 파일을 확인하고 비교합니다.여기서 작동하지 않는 파일을 다시 포맷할 수 있습니다.

이 문제는 github에서 .txt로 잘못 저장했다가 .txt(.ipynb 대신 .ipynb를 남김)를 삭제함으로써 해결되었습니다.다운로드 시 txt)

네, 노트북을 HTML 형식으로 저장한 후 메모장 ++에서 열고 노트북이 45MB로 늘어나게 했던 출력의 긴 반복 행을 삭제한 후 파일을 다시 (.ipynb) 형식으로 저장하여 JSON 오류 없이 열 수 있었습니다.그것이 다른 사람들에게도 효과가 있기를 바랍니다!

Github에 코드를 푸시할 때 충돌 후 이 오류가 발생하였습니다.레포에 있는 코드는 오래되었고, 내 잔돈은 보관되어 있었다.주피터 기투브 레포위의 코멘트에 따라 제 코드에서 JSON 에러가 발생하고 있는 부분을 검색했습니다. '<<<<<<<<<<<','=======' ★★★★★★★★★★★★★★★★★」'>>>>>>>>>>''json' 'json' 'json' 'json' 다음 메모장 이 문자열로 .''그 후 노트북이 로컬 Jupyter에 오픈되어 Github에도 변경을 가했습니다.

ipynb 파일 부호화에 의해 UTF-8-BOM에서 UTF-8로 변경되어 동작했습니다.

제 모국어는 영어가 아니지만, 이 문제가 저에게 일부 도움이 되었기 때문에, 저는 저의 해결책을 피드백하게 되었습니다.다음은 번역 소프트웨어로 번역됩니다.기본적으로 파일 포맷이 잘못된 닫힘으로 인해 엉망입니다.개봉 시 먼저 json 포맷의 정확성을 체크하고 오류가 발견되면 오류가 반환됩니다.파일 포맷이 엉망인 것은 <<<> 또는 ======가 아니라 콤마가 없는 것입니다.어느 쪽이든 소프트웨어를 사용하여 json 구문의 오류를 검출한 후 수동으로 수정하는 것이 가장 좋습니다.최고의 찬사가 제공하는 json 웹사이트 검출은 가능하지만 검출 오류가 완료되지 않아 검출-수정-검출-수정해야 할 수 있습니다.또한 vscode를 사용하여 파일을 열면 vscode가 json 구문 오류 위치를 알려줍니다. 이 오류도 불완전하며 여러 번 확인하고 수정해야 합니다.

표시된 오류 위치는 찾기 어렵습니다.nodepad++를 사용하고 있으며, 오른쪽 아래 구석에 선택한 문자 수(표준 줄 바꿈 포함)가 표시됩니다.그런 다음 첫 번째 문자부터 목적지 위치까지 선택합니다.조금 어처구니없지만, 가장 큰 이유는 적절한 포지셔닝 방법을 찾지 못했기 때문입니다.

모든 출력을 클리어합니다.그런 다음 노트북을 복사합니다.

VS 코드에서 Jupyter-Notebook을 사용하는 경우 VS 코드에 저장하고 파일을 닫은 후 브라우저에 접속하여 다시 열어 보십시오.

ubuntu 20.04에는 String.ipynb 파일이 있습니다.String.ipynb ->에서 "hello"를 삭제하여 like [ echo ' hello >> String . ipynb ]를 코드화하여 정상적으로 노트북을 열 수 있었기 때문에 같은 문제가 있었습니다.내가 어떻게 삭제했지?[ nano String . ipynb ]* 마지막 행으로 이동합니다(hello) * -> 삭제.제 답변이 도움이 되길 바랍니다.d

이 에러는, .ipynb 파일의 머지 컨플릭트가 발생하고 있었기 때문일 가능성이 있습니다.이 git adds로 인해>>>>>>>> HEAD.ipynb 파일의 내용을 읽을 수 없습니다.

이 문제를 해결하려면 vim 편집기에서 .ipynb 파일을 열고 사용 사례에 따라 수신 변경 사항 또는 변경 사항을 제거하십시오.

vim <your-.ipynb-file-path>

착신 변경을 삭제하려면 , 이러한 행간의 내용을 삭제합니다.<<<<<<<<<< HEAD ==============주의:- 이 행도 삭제합니다.>>>>>>>>>>>>이 회선

변경 내용을 제거하려면 다음 행 사이의 내용 제거============== >>>>>>>>>>>주의:- 이 행도 삭제합니다.<<<<<<<<<< HEAD

VS Code와 Jupyter 확장을 사용하다가 git merge 후에도 같은 문제가 발생하였습니다.

노트북 JSON에서 git에 의해 머지 경합이 강조 표시된 후 VS 코드가 노트북을 열지 않습니다(예: <<<).한 가지 방법은 VSCode git 인터페이스의 파일 뷰어를 사용하여 변경 사항을 강조 표시하고 하나씩 수용하는 것입니다.

다른 방법은 파일 이름을 .json으로 변경하여 파일을 열고 <<<<>>의 각 인스턴스를 검색하여 수신 변경을 받아들이는 것이었습니다.

언급URL : https://stackoverflow.com/questions/32103772/unreadable-notebook-notjsonerrornotebook-does-not-appear-to-be-json-u-n

반응형