将dataframe单元格值(列表)插入mysql多列Python

将dataframe单元格值(列表)插入mysql多列Python,python,mysql,pandas,dataframe,Python,Mysql,Pandas,Dataframe,我正在用Python处理数据帧,并尝试在MySQL数据库中插入数据。我知道我可以使用df.to_sql将dataframe插入sql,但在我的例子中,dataframe的一个单元格中有一个列表,我必须将该列表插入数据库中表的多列中 这是我的数据框: UserId UserName Address Res 1 User1 Add1 [1,2,3...36] 2 User2 Add2 [1,2,3...36] In [971]: df

我正在用Python处理数据帧,并尝试在MySQL数据库中插入数据。我知道我可以使用
df.to_sql
将dataframe插入sql,但在我的例子中,dataframe的一个单元格中有一个列表,我必须将该列表插入数据库中表的多列中

这是我的数据框:

UserId UserName Address Res
1      User1    Add1    [1,2,3...36]
2      User2    Add2    [1,2,3...36]
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
这是我的数据库表结构:

UserId UserName Address Res1 Res2 Res3... Res36
现在我被困在这里,我如何才能有效地将
Res
数据插入多列?列表数据是按列名称顺序排列的,所以我不必担心正确的列名称/数据


任何猜测???

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

UserId UserName Address Res
1      User1    Add1    [1,2,3...36]
2      User2    Add2    [1,2,3...36]
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

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

UserId UserName Address Res
1      User1    Add1    [1,2,3...36]
2      User2    Add2    [1,2,3...36]
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

您是否尝试将列表项存储到字符串变量中?不,我没有。。将它们存储为单独的字符串变量??您能否更具体地说明问题所在?你是在问如何将序列分割成各自的列吗?这是否回答了你的问题?您是否尝试将列表项存储到字符串变量中?不,我没有。。将它们存储为单独的字符串变量??您能否更具体地说明问题所在?你是在问如何将序列分割成各自的列吗?这是否回答了你的问题?