我有一些解析csv文件的python代码。现在我们的供应商决定将数据文件更改为gzip csv文件。我想知道我必须做的最小/最干净的代码更改是什么。当前功能:Python“与”语句语法
def load_data(fname, cols=()):
... ...
with open(fname) as f:
reader = csv.DictReader(f)
... ...
我不想重复的代码load_data2(),并与语句来更改,认为它完美的作品。
with gzip.open(fname) as f:
我该如何分析with语句?
def load_data(fname, cols=()):
... ...
if fname.endswith('.csv.gz'):
with gzip.open(fname) as f:
else:
with open(fname) as f:
reader = csv.DictReader(f)
... ... # code to parse
你甚至可以直接在'with'语句中做这个:'用gzip.open(fname)if fname.endswith('.csv.gz')else open(fname)as f' – kindall
谢谢,python很漂亮! – fivelements