【问题标题】:Insert dataframe cell value (list) to mysql multiple columns Python将数据框单元格值(列表)插入mysql多列Python
【发布时间】:2020-08-15 19:12:04
【问题描述】:

我正在使用 Python 中的数据框并尝试在 MySQL 数据库中插入数据。我知道我可以使用df.to_sql 将数据框插入到 sql 中,但就我而言,我在数据框的一个单元格中有一个列表,我必须将该列表插入到数据库中表的多个列中。

这是我的数据框:

UserId UserName Address Res
1      User1    Add1    [1,2,3...36]
2      User2    Add2    [1,2,3...36]

这是我的数据库表结构:

UserId UserName Address Res1 Res2 Res3... Res36

现在我被困在这里,如何以有效的方式将Res 数据插入多个列?列表数据与列名按顺序排列,因此我不必担心正确的列名/数据。

有什么猜测吗??

【问题讨论】:

  • 您是否尝试将列表项存储到字符串变量中?
  • 不,我没有.. 将它们存储为单独的字符串变量??
  • 您能否更具体地说明问题所在?您只是在问如何将序列拆分为自己的列吗?

标签: python mysql pandas dataframe


【解决方案1】:

您可以将列表列拆分为多个列,然后在新数据框上使用df.to_sql

In [971]: df                                                                                                                                                                                                
Out[971]: 
   UserId UserName Address           Res
0       1    User1    Add1  [1, 2, 3, 4]
1       2    User2    Add2  [2, 3, 4, 5]

In [973]: pd.concat([df, pd.DataFrame(df['Res'].values.tolist())], axis=1).drop('Res', 1)                                                                                                                   
Out[973]: 
   UserId UserName Address  0  1  2  3
0       1    User1    Add1  1  2  3  4
1       2    User2    Add2  2  3  4  5
猜你喜欢
  • 1970-01-01
  • 2014-12-16
  • 2022-01-20
  • 2020-12-04
  • 2021-12-21
  • 2018-05-16
相关资源
最近更新 更多