It sounds like you're using two different versions of Python, 2.x and 3.x. Unfortunately how you have to open csv files varies depending on which one is being used—and on Python 3, you need to specify newline=''
, but not in Python 2 where it's not a valid keyword argument to open()
.
This is what I use to open csv files that works in both versions:
import sys
def open_csv(filename, mode='r'):
""" Open a csv file proper way (depends on Python verion). """
kwargs = (dict(mode=mode+'b') if sys.version_info[0] == 2 else
dict(mode=mode, newline=''))
return open(filename, **kwargs)
# sample usage
csvfile = open_csv('test.csv')