之前一篇文章对比过几种Python中dataframe写入PG方法的效率问题.
insert、to_sql、copy_from 3种写入PG数据库代码效率对比
尽管,copy_from方法的写入速度远快于另外两种方式,但在操作过程中还是有些细节需要注意。
这次在写入数据的时候,发现出现以下问题:
psycopg2.DataError: extra data after last expected column
奇怪的是,我在写入数据时明确写明了表中对应的字段cols。进一步打印日志,发现,原因在于:我在划分列时默认以空格(‘\t’)分割,而数据中的某些字符型字段由于其中包含了空格,因此被划分成了两列。致使写入数据的列多于cols目标列。
因此,进一步仔细研究