python - Pandas to_sql - 重复的列不重复
问题描述
这不是我的实际数据,只是一个表示
我正在尝试使用“to_sql”将熊猫数据框保存到 postgres 数据库中。但是,当我尝试这样做时,我收到一个错误“列“my_column”指定了不止一次”。
事情是,我已经采取了一些预防措施,因为我知道我可以在这个项目中有重复的列。我正在使用此功能将计数器添加到重复列:
def df_column_uniquify(df):
df_columns = df.columns
new_columns = []
for item in df_columns:
counter = 0
newitem = item
while newitem in new_columns:
counter += 1
newitem = "{}_{}".format(counter, item)
new_columns.append(newitem)
df.columns = new_columns
return df
因此,如果我有两列名为“my_column_is_ok”,则使用此函数会给我:
“1_my_column_is_ok”和“2_my_column_is_ok”。
问题是,在处理较大的列名时,postgres 在将其视为重复之前似乎没有读取整个名称。
所以如果有这种情况:
A 列:“my_column_is_ok_but_it_is_sorta_long”
B 列:“my_column_is_ok_but_it_is_sorta_short”
此错误返回类似“列“my_column_is_ok_but_it_is_sorta”指定多次”的内容
我的计数器功能不起作用,因为这些名称不一样,而不是全部。
如果有人可以帮助我了解如何处理这个问题,我将非常感激。
解决方案
推荐阅读
- javascript - 如何防止重复进入购物车?如果尝试然后想要 qty++。jQuery
- wso2 - WSO2 产品中的 MQTT 异常
- binary - 二进制补码的左移操作
- jupyter - 尝试在 jupyter notebook 中导入一些空间分析库时出错:ImportError: DLL load failed: El sistema operativo no puede ejecutar %1
- php - 无法使用 https SOAP 连接到主机,但使用 http 正常
- jenkins - 每个詹金斯工作都需要专用的 Xvfb 显示器
- java - 在 Appium 中出现错误“iproxy exited with code '208'”并且应用程序未在 iOS 移动设备上启动
- windows - 为什么从make文件中查找命令失败
- regex - 正则表达式:匹配多行模式,直到再次出现相同的模式
- git - 将 Gitflow 与拉取请求一起使用的正确方法