我试图逐行解析gzip文件:
with gzip.open(obj.get()['Body'])as f:
for line in f:
line=StringIO(line.decode("utf-8"))
line=csv.reader(line,delimiter=',')
for line1 in line:
#some logic
但对于一些文件我有错误:
new-line character seen in unquoted field - do you need to open the file in universal-newline mode?
当我尝试在newlline模式下打开时:
csv.reader(open(line, 'rU'), delimiter=',')
我有:
expected str, bytes or os.PathLike object, not _io.StringIO
我希望包含'\ r'的所有字段都在该字段中作为字符串值的一部分。如何解决这个问题?
这样的东西,避免使用csv.reader
和StringIO
模块:
with gzip.open(obj.get()['Body'])as f:
for line in f:
line = line.strip()
line = line.decode("utf-8").split(',')
for line1 in line:
#some logic
根据https://docs.python.org/3.7/library/io.html?highlight=io#io.StringIO,如果你传递第二个参数为None,它应该识别所有换行符