Python 在块中读取\u csv时捕获异常
我在捕获异常(本例中为UnicodeDecodeError)时读取了一个csv文件,如下所示:Python 在块中读取\u csv时捕获异常,python,pandas,Python,Pandas,我在捕获异常(本例中为UnicodeDecodeError)时读取了一个csv文件,如下所示: def read_csv(filename, chunksize=None, iterator=False): """Read a csv using pandas, while breaking the file into chunks if necessary""" try: return pd.read_csv(filename, chunksize=chunks
def read_csv(filename, chunksize=None, iterator=False):
"""Read a csv using pandas, while breaking the file into chunks if necessary"""
try:
return pd.read_csv(filename, chunksize=chunksize, iterator=iterator)
except UnicodeDecodeError:
return pd.read_csv(filename, encoding="ISO-8859-1", chunksize=chunksize, iterator=iterator)
当我不分块读取csv时,这很好
但是,当我将chunksize设置为一个数值时,在开始迭代的步骤中似乎失败了:
df = read_csv(filename, chunksize=CHUNKSIZE, iterator=True)
chunk_iter = 0
for chunk in df: # exception triggered here
chunk_iter = chunk_iter + 1
如何在for循环中捕获异常?您将获得什么异常?你能显示输出吗?另外,这个代码片段来自
pd.read\u csv()
?异常处理是在函数read\u csv中定义的,它确实在使用pd.read\u csv(..)权限的内部。当您尝试运行此程序时,是否可以发布异常和输出?UnicodeDecodeError引发的是声明的内容。我这边的一个例子:UnicodeDecodeError:“utf-8”编解码器无法解码第9位的字节0xd8:无效的连续字节