首页 > 解决方案 > 如何遍历数据框并从值中构造一个字符串?

问题描述

我有一个示例数据框,如下所示:

import pandas as pd

df = pd.DataFrame({'name': ['John', 'Tom', 'Mary', 'Phil', 'Harry'], 
                  'age': [20, 30, 40, 50, 60], 
                 'credits':[4,6,2,3,4]})

我想用这些值创建一个 SQL INSERT 语句:

INSERT INTO credits_table VALUES ('John', 20, 4)
INSERT INTO credits_table VALUES ('Tom', 30, 6)
INSERT INTO credits_table VALUES ('Mary', 40, 2)
INSERT INTO credits_table VALUES ('Phil', 50, 3)
INSERT INTO credits_table VALUES ('Harry', 60, 4)

为此,我正在尝试以下操作:遍历每个数据框列并生成 INSERT INTO 语句:

for i in df.index:
    print ('INSERT INTO credits VALUES (' + df.loc[i,'name'] + ','+ df.loc[i,'age'] + ','+df.loc[i,'credits']+ +')')

但是有些事情是错误的,它只是一次又一次地失败。有人可以帮我吗?

标签: pythonpandasdataframe

解决方案


for i in df.index:
    print ('INSERT INTO credits VALUES (\'{}\', {}, {})'.format(df.loc[i,'name'], df.loc[i,'age'], df.loc[i,'credits']))

如果要将其插入到 sql 中,请考虑使用 - pandas.to_sql


推荐阅读