错误预期类型 StringIO,取而代之的是 str
Error expected type StringIO, got str instead
我正在尝试使用 psycopg2 中的 copy_from 函数将数据批量插入到我的 postgres 数据库中。
要使用此功能,我尝试使用 io.StringIO (python 3.x).
将元组列表放入类似文件的对象中
def __insert_cpe_dic__(self, cpe_dic):
sio = StringIO
sio.write('\n'.join(cpe for cpe in cpe_dic))
sio.seek(0)
self.cur.copy_from(sio, "cpe_dictionary")
我收到错误:'expected type StringIO, got str instead ...'
写入 'sio' 变量时。
我找不到我的问题的任何答案,希望有人有想法。
您在 sio = StringIO
时分配了 class 而不是 class 的实例。您需要添加括号来实例化 class: sio = StringIO()
的实例。此外,您不需要显式生成器,只需执行 sio.write('\n'.join(cpe_dic))
就会产生相同的结果。
我正在尝试使用 psycopg2 中的 copy_from 函数将数据批量插入到我的 postgres 数据库中。 要使用此功能,我尝试使用 io.StringIO (python 3.x).
将元组列表放入类似文件的对象中 def __insert_cpe_dic__(self, cpe_dic):
sio = StringIO
sio.write('\n'.join(cpe for cpe in cpe_dic))
sio.seek(0)
self.cur.copy_from(sio, "cpe_dictionary")
我收到错误:'expected type StringIO, got str instead ...' 写入 'sio' 变量时。 我找不到我的问题的任何答案,希望有人有想法。
您在 sio = StringIO
时分配了 class 而不是 class 的实例。您需要添加括号来实例化 class: sio = StringIO()
的实例。此外,您不需要显式生成器,只需执行 sio.write('\n'.join(cpe_dic))
就会产生相同的结果。