JSONDecodeError: Expecting value: line 1 column 1 (char 0) occurs while working with JSON (JavaScript Object Notation) format. You might be storing some data or trying to fetch JSON data from an API(Application Programming Interface). In this guide, we will discuss where it can creep in and how to resolve it.
JSONDecodeError means there is an incorrect JSON format being followed. For instance, the JSON data may be missing a curly bracket, have a key that does not have a value, and data not enclosed within double-quotes or some other syntactic error.
Generally, the error expecting value: line 1 column 1 (char 0) error can occur due to the following reasons.
- Non-JSON conforming quoting
- Empty JSON file
- XML output (that is, a string starting with <)
Let’s elaborate on the points stated above:
1. Non-JSON conforming quoting
JSON or JavaScript Object Notation has a similar format to that of the python dictionary datatype. A dictionary requires a key or value to be enclosed in quotes if it is a string. Similarly, the JSON standard defines that keys need not be a string. However, keys should always be enclosed within double quotes. Not following this standard can also raise an error.
2. Empty JSON file
For this example, we have taken an empty JSON file named test.py and another file named test.py, which contains the code given below. Using context manager, we open the JSON file in reading mode and load it using the load method. However, an error is thrown because the JSON file is empty.
import json with open("test.json", "r") as file: data = json.load(file) print("Data retrieved")
3. XML output (that is, a string starting with <)
The Extensible Markup Language, or simply XML, is a simple text-based format for representing structured information: documents, data, configuration, books, transactions, invoices, and much more. Similar to JSON, it is an older way of storing data. Earlier APIs used to return data in XML format; however, JSON is nowadays the preferred choice. Let’s see how we can face the expecting value: line 1 column 1 (char 0) type error in this case.
<part number="1976"> <name>Windscreen Wiper</name> <description>The Windscreen wiper automatically removes rain from your windscreen, if it should happen to splash there. It has a rubber <ref part="1977">blade</ref> which can be ordered separately if you need to replace it. </description> </part>
import json with open("test.xml", "r") as file: data = json.load(file) print("Data retrieved")
Let’s break down what is happening here.
- For ease of example, suppose API returns an XML format data, as shown above.
- Now, when we try to load that response from API, we will get a type error.
Resolving JSONDecodeError: Expecting value: line 1 column 1 (char 0)
1. Solution for Non-JSON conforming quoting
To resolve the type error in this case, you need to ensure that the keys and values are enclosed within the double quotes. This is necessary because it is a part of JSON syntax. It is important to realize that JSON only uses double quotes, not single quotes.
2. Solution for empty JSON file
The solution for this is self-evident in the name. To resolve the type error, in this case, make sure that the JSON file or the response from an API is not empty. If the file is empty, add content to it, and for a response from an API, use try-except to handle the error, which can be empty JSON or a 404 error, for instance.
import json import requests def main(): URL = "https://api.dictionaryapi.dev/api/v2/enties/en/" word = input("Enter a word:") data = requests.get(url + word) data = data.text try: data_json = json.loads(data) print(data_json) except json.JSONDecodeError: print("Empty response") if __name__ == "__main__": main()
The above code takes in a word and returns all the information related to it in a JSON format. Now in order to show how we can handle the Expecting value: line 1 column 1 (char 0) type error, we have altered the URL. entries have been changed to enties. Therefore we will get an invalid response which will not be of the JSON format. However, this is merely done to imitate the error when you might get an invalid response from an API.
- Now, if you try to run the code above, you will be prompted to enter a word. The response is saved into the data variable and later converted to a string.
- However, in the try block json.loads method, which parses JSON string to python dictionary raises an error.
- This is because the response sent by API is not of JSON format, hence can’t be parsed, resulting in JSONDecodeError.
- JSONDecodeError gets handled by the try-except block, and a “Response content is not valid JSON” gets printed as an outcome.
3. Solution for XML output(that is, a string starting with <)
To avoid type errors resulting from an XML format, we will convert it to a JSON format. However, firstly install this library.
pip install xmltodict
import json import xmltodict with open("test.xml", "r") as file: data = xmltodict.parse(file.read()) file.close() json_data = json.dumps(data) with open("t.json", "w") as json_file: json_file.write(json_data) json_file.close() print("Data retrieved") print(data)
Let’s elaborate on the code above:
- We have imported two libraries, namely JSON and xmltodict.
- Using the context manager with, XML file test.xml is opened in read mode. Thereafter using the xmltodict parse method, it is converted to a dictionary type, and the file is closed.
- json.dumps() takes in a JSON object and returns a string of that object.
- Again using context manager with, a JSON file is created, XML data that was converted to a JSON string is written on it, and the file is closed.
JSONDecodeError: Expecting value: line 1 column 1 (char 0) Django
This issue is caused by the failure of Pipenv 2018.10.9. To resolve this issue, use Pipenv 2018.5.18. For more, read here.
Are you facing this error in Flask?
Many times, when you receive the data from HTTP requests, they are fetched as bytes. So, if you face JSONDecodeError, you might be dealing with a JSON in bytes. First, you need to decode the JSON by using response.decode('utf-8')
. This will create a string, and then you can parse it.
FAQs
How to parse JSON in python?
json.loads() method can be used to parse JSON in python. For instance:import json
json_string = '{"a":"1", "b":"2", "c":"3"}'
json_to_dict = json.loads(json_string)
print(json_to_dict)
print(type(json_to_dict))
How to detect empty file/string before parsing JSON?
import os
)
file_path = "/home/nikhilomkar/Desktop/test.json"
print("File is empty!" if os.stat(file_path).st_size == 0 else "File isn't empty!"
The following code checks if the file is empty and prints the File is empty! If true, else, the File isn’t empty!.
Conclusion JSONDecodeError: Expecting value: line 1 column 1 (char 0)
The following article discussed the JSONDecodeError: Expecting value: line 1 column 1 (char 0). This error is due to various decoding and formatting errors. We looked at likely situations where it can occur and how to resolve it.
Trending Python Articles
-
“Other Commands Don’t Work After on_message” in Discord Bots
●February 5, 2023
-
Botocore.Exceptions.NoCredentialsError: Unable to Locate Credentials
by Rahul Kumar Yadav●February 5, 2023
-
[Resolved] NameError: Name _mysql is Not Defined
by Rahul Kumar Yadav●February 5, 2023
-
Best Ways to Implement Regex New Line in Python
by Rahul Kumar Yadav●February 5, 2023
If you try to parse invalid JSON or decode an empty string as JSON, you will encounter the JSONDecodeError: Expecting value: line 1 column 1 (char 0). This error can occur if you read an empty file using json.load, read an empty JSON or receive an empty response from an API call.
You can use a try-except code block to catch the error and then check the contents of the JSON string or file before retrying.
This tutorial will go through the error in detail and how to solve it with code examples.
Table of contents
- JSONDecodeError: Expecting value: line 1 column 1 (char 0)
- Example #1: Incorrect use of json.loads()
- Solution
- Example #2: Empty JSON file
- Solution
- Example #3: Response Request
- Summary
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
In Python, JSONDecodeError occurs when there is an issue with the formatting of the JSON data. This specific error tells us the JSON decoder has encountered an empty JSON.
Example #1: Incorrect use of json.loads()
Let’s look at an example where we have a JSON file with the following contents:
[ {"margherita":7.99}, {"pepperoni":9.99}, {"four cheeses":10.99} ]
We want to read the data into a program using the json
library. Let’s look at the code:
import json json_path = 'pizza.json' data = json.loads(json_path)
In the above code, we try to read the data in using json.loads()
. Let’s run the code to see the result:
JSONDecodeError: Expecting value: line 1 column 1 (char 0)
The error occurs because json.loads()
expects a JSON encoded string, not a filename. The string pizza.json
is not a valid JSON encoded string.
Solution
We need to use json.load()
instead of json.loads()
to read a file. Let’s look at the revised code:
import json json_path = 'pizza.json' with open(json_path, 'r') as f: data = json.loads(f.read()) print(data)
In the above code, we use the open()
function to create a file object that json.load()
can read and return the decoded data object. The with
statement is a context manager that ensures that the file is closed once the code is complete. Let’s run the code to see the result:
[{'margherita': 7.99}, {'pepperoni': 9.99}, {'four cheeses': 10.99}]
Example #2: Empty JSON file
Let’s look at an example where we have an empty file, which we will try to read in using json.loads()
. The file is called particles.json
. Since the JSON file is empty, the JSON decoder will throw the JSONDecodeError when it tries to read the file’s contents. Let’s look at the code:
import json filename = 'particles.json' with open(filename, 'r') as f: contents = json.loads(f.read()) print(contents)
--------------------------------------------------------------------------- JSONDecodeError Traceback (most recent call last) Input In [1], in <cell line: 5>() 3 filename = 'particles.json' 5 with open(filename, 'r') as f: ----> 6 contents = json.loads(f.read()) 7 print(contents) File ~/opt/anaconda3/lib/python3.8/json/__init__.py:357, in loads(s, cls, object_hook, parse_float, parse_int, parse_constant, object_pairs_hook, **kw) 352 del kw['encoding'] 354 if (cls is None and object_hook is None and 355 parse_int is None and parse_float is None and 356 parse_constant is None and object_pairs_hook is None and not kw): --> 357 return _default_decoder.decode(s) 358 if cls is None: 359 cls = JSONDecoder File ~/opt/anaconda3/lib/python3.8/json/decoder.py:337, in JSONDecoder.decode(self, s, _w) 332 def decode(self, s, _w=WHITESPACE.match): 333 """Return the Python representation of ``s`` (a ``str`` instance 334 containing a JSON document). 335 336 """ --> 337 obj, end = self.raw_decode(s, idx=_w(s, 0).end()) 338 end = _w(s, end).end() 339 if end != len(s): File ~/opt/anaconda3/lib/python3.8/json/decoder.py:355, in JSONDecoder.raw_decode(self, s, idx) 353 obj, end = self.scan_once(s, idx) 354 except StopIteration as err: --> 355 raise JSONDecodeError("Expecting value", s, err.value) from None 356 return obj, end JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Solution
If the file is empty, it is good practice to add a try-except statement to catch the JSONDecodeError. Let’s look at the code:
import json filename = 'particles.json' with open(filename, 'r') as f: try: contents = json.loads(f.read()) print(contents) except json.decoder.JSONDecodeError: print('File is empty')
File is empty
Now we have verified the file is empty, we can add some content to the file. We will add three particle names together with their masses.
[ {"proton":938.3}, {"neutron":939.6}, {"electron":0.51} ]
Let’s try to read the JSON file into our program and print the contents to the console:
import json filename = 'particles.json' with open(filename, 'r') as f: try: contents = json.loads(f.read()) print(contents) except json.decoder.JSONDecodeError: print('File is empty')
[{'proton': 938.3}, {'neutron': 939.6}, {'electron': 0.51}]
We successfully read the contents of the file into a list object.
Example #3: Response Request
Let’s look at an example where we want to parse a JSON response using the requests library. We will send a RESTful GET call to a server, and in return, we get a response in JSON format. The requests library has a built-in JSON decoder, response.json(), which provides the payload data in the JSON serialized format.
We may encounter a response that has an error status code or is not content-type application/json
. We must check that the response status code is 200 (OK) before performing the JSON parse. Let’s look at the code to check the response has the 200
status code and has the valid content type. application/json
.
import requests from requests.exceptions import HTTPError url = 'https://httpbin.org/get' try: response = requests.get(url) status = response.status_code if (status != 204 and response.headers["content-type"].strip().startswith("application/json")): try: json_response = response.json() print(json_response) except ValueError: print('Bad Data from Server. Response content is not valid JSON') elif (status != 204): try: print(response.text) except ValueError: print('Bad Data From Server. Reponse content is not valid text') except HTTPError as http_err: print(f'HTTP error occurred: {http_err}') except Exception as err: print(f'Other error occurred: {err}')
In the above example, we use httpbin.org to execute a GET call. Let’s run the code to get the result:
{'args': {}, 'headers': {'Accept': '*/*', 'Accept-Encoding': 'gzip, deflate, br', 'Host': 'httpbin.org', 'User-Agent': 'python-requests/2.27.1', 'X-Amzn-Trace-Id': 'Root=1-6265a5c1-3b57327c02057a3a39ffe86d'}, 'origin': '90.206.95.191', 'url': 'https://httpbin.org/get'}
Summary
Congratulations on reading to the end of this tutorial! The JSONDecodeError: Expecting value: line 1 column 1 (char 0) occurs either when data is not present in a file, the JSON string is empty, or the payload from a RESTful call is empty.
You can resolve this error by checking the JSON file or string for valid content and using an if-statement when making a RESTful call to ensure the status code is 200 and the content type is application/json
.
For further reading on errors involving JSON, go to the articles:
- How to Solve Python ValueError: Trailing data
- How to Solve Python JSONDecodeError: extra data
- How to Solve Python TypeError: Object of type datetime is not JSON serializable
- How to Solve Python JSONDecodeError: Expecting ‘,’ delimiter: line 1
Have fun and happy researching!
Table of Contents
Hide
- JSONDecodeError: Expecting value: line 1 column 1 (char 0)
- Example JSONDecodeError: Expecting value: line 1 column 1 (char 0)
- Solution
- Other Possible Solutions
- Ensure HTTP 200 status code and valid content type as application/json
- Invoke json.load() on the contents of the file
If you are working with APIs and trying to fetch and parse the JSON data while making the HTTP or curl requests and JSON response is not well-formed, Python will throw json.decoder.jsondecodeerror: expecting value: line 1 column 1 (char 0).
Let us take a look at the possible causes of JSONDecodeError and how we solve this issue in our code with some examples.
In most of cases, you get json.loads- JSONDecodeError: Expecting value: line 1 column 1 (char 0) error is due to :
- The response might be in some other format such as XML, HTML, etc.
- The JSON response is not structured properly.
- The response type doesn’t come in the format of application/json. Rather it comes in string format, which in turn throws a JSONDecodeError while parsing the response.
- Empty response
- Invalid status code or httpx error
Also, read the Python JSONPath tutorial
Example JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Let me demonstrate with a simple example of replicating a JSONDecodeError, and we will look at solving the same.
In this example, we are trying to load a JSON file from the specified path and print the contents of the JSON file. However, since the JSON file is empty, the JSON module will throw a JSONDecodeError when we try to read the empty content. It always expects the proper JSON structure.
import json
file_path = "C:/Projects/Tryouts/books.json"
with open(file_path, 'r') as j:
contents = json.loads(j.read())
print(contents)
Output
Traceback (most recent call last):
File "c:/Projects/Tryouts/main.py", line 6, in <module>
contents = json.loads(j.read())
File "C:UsersabcAppDataLocalProgramsPythonPython37libjson__init__.py", line 348, in loads
return _default_decoder.decode(s)
File "C:UsersabcAppDataLocalProgramsPythonPython37libjsondecoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "C:UsersabcAppDataLocalProgramsPythonPython37libjsondecoder.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)
The json.loads(j.read())
tries to load the JSON content and parse the JSON, and during that time, if it’s not well structured, you get a JSONDecodeError.
Note: In this case, if the JSON file is not found, you will get a FileNotFoundError: [Errno 2] No such file or directory
Solution
The solution is simple and straightforward. Validate if the file is not empty and has proper JSON content. Now that we have added the proper content to the books.json file when we run the same code again, we get the below output.
# Python program to solve JSONDecodeError: Expecting value: line 1 column 1 (char 0)
import json
file_path = "C:/Projects/Tryouts/books.json"
with open(file_path, 'r') as j:
contents = json.loads(j.read())
print(contents)
Output
{'category': 'reference', 'author': 'Nigel Rees', 'title': 'Sayings of the Century', 'isbn': '6-246-2356-8', 'price': 8.95}
Other Possible Solutions
Ensure HTTP 200 status code and valid content type as application/json
If you are making requests to API, make sure to check the response status code is 200 (OK) and then perform JSON parse. Below is the sample snippet on how you can ensure to check the response has 200 status code and valid content type as application/json
if (
response.status_code != 204 and
response.headers["content-type"].strip().startswith("application/json")
):
try:
return response.json()
except ValueError:
# decide how to handle a server that's misbehaving to this extent
Invoke json.load() on the contents of the file
If you are calling and loading json files directly, ensure that you are not passing a file path directly to the json.load()
method instead pass the contents into the json.load()
method.
Bad Practice
json_file_path = "/path/to/example.json"
contents = json.loads(json_file_path)
Good Practice
json_file_path = "/path/to/example.json"
with open(json_file_path, 'r') as j:
contents = json.loads(j.read())
Srinivas Ramakrishna is a Solution Architect and has 14+ Years of Experience in the Software Industry. He has published many articles on Medium, Hackernoon, dev.to and solved many problems in StackOverflow. He has core expertise in various technologies such as Microsoft .NET Core, Python, Node.JS, JavaScript, Cloud (Azure), RDBMS (MSSQL), React, Powershell, etc.
Sign Up for Our Newsletters
Subscribe to get notified of the latest articles. We will never spam you. Be a part of our ever-growing community.
By checking this box, you confirm that you have read and are agreeing to our terms of use regarding the storage of the data submitted through this form.
The error “JSONDecodeError: Expecting value: line 1 column 1 (char 0)” can happen when you working with Python. Learn why Python raises this exception and how you can resolve it.
Reproduce The Error
Python provides a built-in module for encoding and decoding JSON contents, which can be strings or files. The loads()
is one of the most popular functions in this module. However, it raises a JSONDecodeError instead:
>>> import json
>>> json.loads(“”)
Traceback (most recent call last):
File “/usr/lib/python3.10/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)
When you read an empty JSON file with load()
, Python will also print out a similar error message:
>>> import json
>>> with open("empty.json", "r") as emptyJSON:
... print(json.load(emptyJSON))
....
Traceback (most recent call last):
File "/usr/lib/python3.10/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 2 column 1 (char 2)
You can run into this error outside the json module as well. Requests is a popular library for dealing with HTTP requests in Python. It supports the json()
method, which converts the fetched content from a resource URI into a JSON object. But it can unexpectedly raise the JSONDecodeError exception:
>>> import requests
>>> URL="http://httpbin.org/status/200"
>>> response = requests.delete(URL)
>>> print(response.json())
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
…
raise RequestsJSONDecodeError(e.msg, e.doc, e.pos)
requests.exceptions.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Explain The Error
The first two examples are obvious. The error message is displayed in those cases because you provide load()
and loads()
with empty JSON content.
When those methods fail to deserialize and parse a valid JSON document from those sources, they raise the JSONDecodeError exception.
From this clue, we can guess why the response.json()
method in the third example also produces the same error.
There is a high chance the response object itself is empty. This is indeed true, which can be verified by using response.text
to get the content of the response:
This is a common response message when we send an HTTP DELETE request to delete a resource. This can be the case even with the status code 200 (meaning the deleting action has been carried out).
Solutions
Refraining from parsing empty files and strings as JSON documents is an obvious fix. But in many situations, we can’t control whether a data source can be empty or not.
Python, however, allows us to handle exceptions like JSONDecodeError. For instance, you can use the try-catch
statements below to prevent error messages in the case of empty strings and files:
Example 1
try: json.loads("") except json.decoder.JSONDecodeError: print("")
Example 2
try: with open("empty.json", "r") as emptyJSON: print(json.load(emptyJSON)) except json.decoder.JSONDecodeError: print("")
Those snippets execute the loads()
and load()
functions. If the JSONDecodeError exception is raised, Python executes the except
clause and prints an empty string instead of an error message.
We can apply the same idea when parsing the content of an HTTP request response:
try: URL = "http://httpbin.org/status/200" response = requests.delete(URL) print(response.json()) except requests.exceptions.JSONDecodeError: print("")
It is important to note that you must change the exception to catch from json.decoder.JSONDecodeError
to requests.exceptions.JSONDecodeError
.
Summary
Python throws the error “JSONDecodeError: Expecting value: line 1 column 1 (char 0)” when it parses an empty string or file as JSON. You can use a try
statement to catch
and handle this exception.
Maybe you are interested in similar errors:
- DataFrame constructor not properly called!
- ModuleNotFoundError: No module named ‘tensorflow’ in python
- ModuleNotFoundError: No module named ‘scipy’ in Python
- RuntimeError: dictionary changed size during iteration
My name is Robert. I have a degree in information technology and two years of expertise in software development. I’ve come to offer my understanding on programming languages. I hope you find my articles interesting.
Job: Developer
Name of the university: HUST
Major: IT
Programming Languages: Java, C#, C, Javascript, R, Typescript, ReactJs, Laravel, SQL, Python
Today We are Going To Solve JSONDecodeError: Expecting value: line 1 column 1 (char 0) in Python. Here we will Discuss All Possible Solutions and How this error Occurs So let’s get started with this Article.
Contents
- 1 How to Fix JSONDecodeError: Expecting value: line 1 column 1 (char 0) Error?
- 1.1 Solution 1 : Invoke json.loads()
- 1.2 Solution 2 : Check encoding format
- 1.3 Solution 3 : Read json files with json.loads()
- 2 Conclusion
- 2.1 Also Read These Solutions
- How to Fix JSONDecodeError: Expecting value: line 1 column 1 (char 0) Error?
To Fix JSONDecodeError: Expecting value: line 1 column 1 (char 0) Error just Invoke
json.loads()
. First of all, just invokejson.loads()
on the contents of the filejson_file_path = "/path/to/example.json" with open(json_file_path, 'r') as j: contents = json.loads(j.read())
And then just try the below command. It will help you to solve this error.contents = json.loads(json_file_path)
- JSONDecodeError: Expecting value: line 1 column 1 (char 0)
To Fix JSONDecodeError: Expecting value: line 1 column 1 (char 0) Error just Check encoding format. Here you have to check encoding format of your file and you have to use the corresponding encoding format while reading the file. By doing this you can easily solve your problem. So just try this. I hope this will help you!
with open("AB.json", encoding='utf-8', errors='ignore') as json_data: data = json.load(json_data, strict=False)
Solution 1 : Invoke json.loads()
First of all, just invoke json.loads()
on the contents of the file
json_file_path = "/path/to/example.json"
with open(json_file_path, 'r') as j:
contents = json.loads(j.read())
And then just try the below command. It will help you to solve this error.
contents = json.loads(json_file_path)
Solution 2 : Check encoding format
Here you have to check encoding format of your file and you have to use the corresponding encoding format while reading the file. By doing this you can easily solve your problem. So just try this. I hope this will help you!
with open("AB.json", encoding='utf-8', errors='ignore') as json_data:
data = json.load(json_data, strict=False)
Solution 3 : Read json files with json.loads()
First of all, read json files with the given below command:
json.loads("file.json")
And after it just use the below commands to solve your error.
with open("file.json", "r") as read_file:
data = json.load(read_file)
Conclusion
So these were all possible solutions to this error. I hope your error has been solved by this article. In the comments, tell us which solution worked? If you liked our article, please share it on your social media and comment on your suggestions. Thank you.
Also Read These Solutions
- DiscordAPIError[50001]: Missing Access
- TypeScript TS7015: Element implicitly has an ‘any’ type because index expression is not of type ‘number’
- TypeError: Cannot read property ‘classList’ of null
- TypeError: the JSON object must be str, bytes or bytearray, not ‘dict’
- Python [Errno 98] Address already in use
Hi boys.
I can confirm this bug.
Exception in thread Thread-4:
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/app/.heroku/python/lib/python3.6/threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/multitasking/__init__.py", line 102, in _run_via_pool
return callee(*args, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/yfinance/__init__.py", line 470, in _download_one_threaded
period, interval, prepost, proxy)
File "/app/.heroku/python/lib/python3.6/site-packages/yfinance/__init__.py", line 483, in _download_one
proxy=proxy)
File "/app/.heroku/python/lib/python3.6/site-packages/yfinance/__init__.py", line 297, in history
data = data.json()
File "/app/.heroku/python/lib/python3.6/site-packages/requests/models.py", line 897, in json
return complexjson.loads(self.text, **kwargs)
File "/app/.heroku/python/lib/python3.6/json/__init__.py", line 354, in loads
return _default_decoder.decode(s)
File "/app/.heroku/python/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/app/.heroku/python/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[*** 6% ] 6 of 94 downloadedException in thread Thread-12:
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/app/.heroku/python/lib/python3.6/threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/multitasking/__init__.py", line 102, in _run_via_pool
return callee(*args, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/yfinance/__init__.py", line 470, in _download_one_threaded
period, interval, prepost, proxy)
File "/app/.heroku/python/lib/python3.6/site-packages/yfinance/__init__.py", line 483, in _download_one
proxy=proxy)
File "/app/.heroku/python/lib/python3.6/site-packages/yfinance/__init__.py", line 297, in history
data = data.json()
File "/app/.heroku/python/lib/python3.6/site-packages/requests/models.py", line 897, in json
return complexjson.loads(self.text, **kwargs)
File "/app/.heroku/python/lib/python3.6/json/__init__.py", line 354, in loads
return _default_decoder.decode(s)
File "/app/.heroku/python/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/app/.heroku/python/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Exception in thread Thread-15:
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/app/.heroku/python/lib/python3.6/threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/multitasking/__init__.py", line 102, in _run_via_pool
return callee(*args, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/yfinance/__init__.py", line 470, in _download_one_threaded
period, interval, prepost, proxy)
File "/app/.heroku/python/lib/python3.6/site-packages/yfinance/__init__.py", line 483, in _download_one
proxy=proxy)
File "/app/.heroku/python/lib/python3.6/site-packages/yfinance/__init__.py", line 297, in history
data = data.json()
File "/app/.heroku/python/lib/python3.6/site-packages/requests/models.py", line 897, in json
return complexjson.loads(self.text, **kwargs)
File "/app/.heroku/python/lib/python3.6/json/__init__.py", line 354, in loads
return _default_decoder.decode(s)
File "/app/.heroku/python/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/app/.heroku/python/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Exception in thread Thread-13:
Traceback (most recent call last):
File "/app/.heroku/python/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/app/.heroku/python/lib/python3.6/threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/multitasking/__init__.py", line 102, in _run_via_pool
return callee(*args, **kwargs)
File "/app/.heroku/python/lib/python3.6/site-packages/yfinance/__init__.py", line 470, in _download_one_threaded
period, interval, prepost, proxy)
File "/app/.heroku/python/lib/python3.6/site-packages/yfinance/__init__.py", line 483, in _download_one
proxy=proxy)
File "/app/.heroku/python/lib/python3.6/site-packages/yfinance/__init__.py", line 297, in history
data = data.json()
File "/app/.heroku/python/lib/python3.6/site-packages/requests/models.py", line 897, in json
return complexjson.loads(self.text, **kwargs)
File "/app/.heroku/python/lib/python3.6/json/__init__.py", line 354, in loads
return _default_decoder.decode(s)
File "/app/.heroku/python/lib/python3.6/json/decoder.py", line 339, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/app/.heroku/python/lib/python3.6/json/decoder.py", line 357, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
[************ 26% ] 24 of 94 downloaded