Skip to content

Commit d8557e9

Browse files
committed
BUG Properly decode BytesIO stream to UTF-8 as it leads to doubly escaped backslashes and breaks on Python 2.
1 parent 4dda527 commit d8557e9

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

pyfolio/utils.py

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -203,12 +203,14 @@ def get_fama_french():
203203
factors_zip = zipfile.ZipFile(BytesIO(factors_req.read()),
204204
'r')
205205
umd_csv = umd_zip.read('F-F_Momentum_Factor_daily.CSV')
206-
umd_csv = str(umd_csv).split('\\r\\n\\r\\n')[2]\
207-
.replace('\\r\\n', '\n')
206+
umd_csv = umd_csv.decode('utf-8')
207+
umd_csv = umd_csv.split('\r\n\r\n')[2]\
208+
.replace('\r\n', '\n')
208209
factors_csv = factors_zip.read('F-F_Research_Data_'
209210
'Factors_daily.CSV')
210-
factors_csv = str(factors_csv).split('\\r\\n\\r\\n')[1]\
211-
.replace('\\r\\n', '\n')
211+
factors_csv = factors_csv.decode('utf-8')
212+
factors_csv = factors_csv.split('\r\n\r\n')[1]\
213+
.replace('\r\n', '\n')
212214

213215
factors = pd.DataFrame.from_csv(StringIO(factors_csv), sep=',')
214216
umd = pd.DataFrame.from_csv(StringIO(umd_csv), sep=',')

0 commit comments

Comments
 (0)