JSON ошибка декодирования, так как я переключился с macOS на Windows - PullRequest
0 голосов
/ 17 июня 2020

У меня есть файл Python, который отлично работал на моем MacBook. Как только я переместил его в окно, по какой-то причине он дал мне новую ошибку.

это ошибки, которые я получаю:

Traceback (most recent call last):
  File "C:/Users/chadi/PycharmProjects/untitled4/main.py", line 3, in <module>
    from main_controller import Ui_MainController
  File "C:\Users\chadi\PycharmProjects\untitled4\main_controller.py", line 6, in <module>
    from get_companies import load_companies
  File "C:\Users\chadi\PycharmProjects\untitled4\get_companies.py", line 10, in <module>
    json_read('convertcsv.json')
  File "C:\Users\chadi\PycharmProjects\untitled4\get_companies.py", line 8, in json_read
    data = (json.load(f_in))
  File "C:\Users\chadi\anaconda3\envs\untitled4\lib\json\__init__.py", line 293, in load
    return loads(fp.read(),
  File "C:\Users\chadi\anaconda3\envs\untitled4\lib\json\__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "C:\Users\chadi\anaconda3\envs\untitled4\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Users\chadi\anaconda3\envs\untitled4\lib\json\decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

Process finished with exit code 1

это все части, в которые я загружаю JSON файл:

def json_read(filename):
    with open(filename) as f_in:
        global data
        data = (json.load(f_in))

json_read('convertcsv.json')

def mark_employee_unavailability(service,employee,reason,start_date,end_date):
    with open('info_inspecteurs.json') as json_file:
        data = json.load(json_file)
        for i in range(len(data)):
            if data[i]['n_inspecteur'] == employee:
                event_email = data[i]['email_inspecteur']
                break
def json_read(filename):
    with open(filename) as f_in:
        global data
        data = (json.load(f_in))

def get_employee_info(n_inspecteur):
    json_read('info_inspecteurs.json')
    value = list(filter(lambda x: x["n_inspecteur"] == n_inspecteur, data))[0]
    if len(value) > 0:
        print(value['ad_inspecteur'], "\n", value['email_inspecteur'])
        return (value['ad_inspecteur'],value['email_inspecteur'])
    print("no record found")
    return None

def load_employees_from_info_inspecteurs():
    json_read('info_inspecteurs.json')
    employees=[]
    for company in data:
        employees.append(company['n_inspecteur'])
    return employees

Я не знаю, откуда он взялся, или, может быть, это новая среда, которую я использовал на Windows? Я использовал анаконду. Это что-то меняет? Я был на VENV на своей macOS.

Спасибо за вашу помощь

1 Ответ

1 голос
/ 17 июня 2020

Ошибка

json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

может означать, что данные из целевого файла вообще не читаются, поэтому json не находит никаких данных для анализа.

Вы может устранить неполадки, пытаясь просто прочитать файл из этой точки вашего скрипта в строку - если это не удается, проблема может быть в python текущем каталоге выполнения / относительном пути к файлу, а не в синтаксическом анализе json.

with open ("convertcsv.json", "r") as checkFile:
    checkData = checkFile.read()
    # print out length or contents of checkData or sim.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...