diff --git a/tools/github_issues_to_csv b/tools/github_issues_to_csv
index c432772..7dc1ed0 100644
--- a/tools/github_issues_to_csv
+++ b/tools/github_issues_to_csv
@@ -18,7 +18,7 @@
     r"""
     Parses JSON response and writes to CSV.
     """
-    print response
+    print(response)
     if response.status_code != 200:
         raise Exception(response.status_code)
     for issue in response.json():
@@ -61,8 +61,8 @@
     name  Name of the GitHub repository
     response  GitHub repository response
     """
-    print name
-    print states
+    print(name)
+    print(states)
 
     # Multiple requests are required if response is paged
     if 'link' in response.headers:
@@ -108,7 +108,7 @@
     csvfilename_temp = '{}'.format(repository.replace('/', '-'))
     csvfilename = csvfilename + csvfilename_temp
 csvfilename = csvfilename + '-issues.csv'
-with open(csvfilename, 'wb') as csvfileout:
+with open(csvfilename, 'w') as csvfileout:
     csv_out = csv.writer(csvfileout)
     csv_out.writerow(['Labels', 'Title', 'State', 'Open Date',
                       'Close Date', 'URL', 'Author', 'Assignees',
