我正在使用pandas to_sql函数将大型数据帧插入到PostgreSQL表中。问题是,当我在其中一列中有较长的文本值时,它将被剪切。 因此,代替:
“ 3432711,3432712,3432713,3432715,3432716,3432718,3432719,3432720,3432721,3432722,3432724,3432725,3432726,3432727,3432729,3432730,3432731,3432732,3432733,3432734,3432736,3432737,3432739, 3432740,3432741,3432742,3432743,3432744,3432745,3432746,3432747,3432748,3432749,3432750,3432751,3842395,3842396,3842397“
它仅插入:
“ 3432711,3432712,3432713,3432715,3432716,3432718,3432719,3432720,3432721,3432722,3432724,3432725,3432726,3432727,3432729,3432730,3432731,3432732,3432733,3432734,3432736,3432737,3432739, 3432740,3432741,3432742,3432743,3432744,3432745,3432746,3432747,3432748,“
当我尝试只插入一行包含该数据的数据框时,一切都很好,并且将插入整个文本值。
这是我使用的代码的一部分:
df = pd.read_sql(sql_statement, connection)
engine = create_engine('postgresql://postgres:xxx@localhost:xxxx/' + dbName)
df.to_sql(tableName, engine, if_exists='append')
有什么想法为什么会发生以及如何解决?