我正在尝试将csv文件加载到Mysql。该文件有一百万条记录,所以我正在进行1000的批量插入。我使用python库sqlalchemy和pymysql。在第一批插入后,我得到了错误
(
pymysql.err.InternalError) (1366年,“不正确的字符串值:‘\xC2\xC2\xB7\xC3\xA5.’
第50行的“FHCNM”栏。我想跳过这个特定的批次,插入剩下的批。我是用python中的try..except..finally块来实现这一点的。在这里,我在不同的批中得到相同的错误(pymysql.err.InternalError)。如何多次处理单个异常?现在,我试着
def functnname():
try:
#my code to insert data to mysql
except:
#to handle my error first time
pass
finally:
#continue with next batch insertions
return
try:
functnname()
except:
#to handle my error second time
finally:
functnname()我要这样试一试。我不知道它是否有效。任何更有效的方式都将不胜感激。以及如何首先处理上述错误,以及如何插入失败的批处理。Python3.x
发布于 2020-05-02 08:16:31
如果不单独插入每个元素,在python代码中很难做到这一点,但这将大大损害您的性能。在批量插入过程中使用mysql特性来处理ignore / handle错误。
https://stackoverflow.com/questions/61556207
复制相似问题