我已经阅读了文档和其他地方的一些附加帖子,但我不太明白这个概念:
当您调用csvFilename = gzip.open(filename, 'rb')
,然后调用reader = csv.reader(open(csvFilename))
,这是不是一个有效的csv文件?在
我试图解决下面概述的问题,在第41行和第7行(下面突出显示)出现coercing to Unicode: need string or buffer, GzipFile found
错误,这使我相信gzip.open以及csv.reader不要像我以前想的那样工作。在
我要解决的问题
我正在尝试将results.csv.gz
转换为results.csv
,这样我就可以将results.csv
转换成一个python字典,然后将它与另一个python字典结合起来。在
文件1:
alertFile = payload.get('results_file')
alertDataCSV = rh.dataToDict(alertFile) # LINE 41
alertDataTotal = rh.mergeTwoDicts(splunkParams, alertDataCSV)
调用文件2:
^{pr2}$*编辑:也请原谅我用Python命名的非PEP风格
gzip.open
返回一个类似文件的对象(与普通的open
返回的内容相同),而不是解压缩文件的名称。只需将结果直接传递给csv.reader
,它就可以工作了(csv.reader
将接收解压缩的行)。csv
确实需要文本,因此在python3上,您需要将其作为文本打开(在python2上'rb'
可以,模块不处理编码,但是{收件人:
^{pr2}$相关问题 更多 >
编程相关推荐