Skip to content

Commit 0f90ea8

Browse files
authored
Merge pull request #933 from stoffprof/main
Fixes
2 parents a1cf7a2 + 62b9c0e commit 0f90ea8

File tree

2 files changed

+14
-4
lines changed

2 files changed

+14
-4
lines changed

pandas_datareader/famafrench.py

+4-3
Original file line numberDiff line numberDiff line change
@@ -56,10 +56,11 @@ def _read_zipfile(self, url):
5656

5757
with tempfile.TemporaryFile() as tmpf:
5858
tmpf.write(raw)
59-
6059
with ZipFile(tmpf, "r") as zf:
61-
data = zf.open(zf.namelist()[0]).read().decode("utf-8", "ignore")
62-
60+
try:
61+
data = zf.open(zf.namelist()[0]).read().decode("utf-8", "ignore")
62+
except UnicodeDecodeError:
63+
data = zf.open(zf.namelist()[0]).read().decode(encoding="cp1252")
6364
return data
6465

6566
def read(self):

pandas_datareader/yahoo/daily.py

+10-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import re
33
import time
44

5-
from pandas import DataFrame, isnull, notnull, to_datetime
5+
from pandas import DataFrame, date_range, isnull, notnull, to_datetime
66

77
from pandas_datareader._utils import RemoteDataError
88
from pandas_datareader.base import _DailyBaseReader
@@ -155,6 +155,15 @@ def _read_one_data(self, url, params):
155155

156156
# price data
157157
prices = DataFrame(data["prices"])
158+
if len(prices) == 0:
159+
freq = self.interval[1].upper()
160+
if freq == 'W':
161+
freq += '-MON'
162+
dates = date_range(self.start, self.end, freq=freq)
163+
prices = DataFrame(index=dates,
164+
columns=['High', 'Low', 'Open', 'Close', 'Volume', 'Adj Close'])
165+
return prices
166+
158167
prices.columns = [col.capitalize() for col in prices.columns]
159168
prices["Date"] = to_datetime(to_datetime(prices["Date"], unit="s").dt.date)
160169

0 commit comments

Comments
 (0)