pandas 用python脚本和csv文件更新数据库

icomxhvb  于 2023-02-07  发布在  Python
关注(0)|答案(2)|浏览(250)

我有一个示例csv文件

number    name        age
 1       John K,      40
 2       Jordan       35
 3       Kristen      25
 4       Prime        33

我在mysql中还有一个示例表

id     number      age
 1       1         
 2       3
 3       4
 4       2

如何使用python更新csv文件中的表?
预期结果

id    number     age
1       1        40
2       3        25
3       4        33
4       2        35

我在考虑使用以下命令更新表

query = update table1 set age = {} where number = {}

如何使用python迭代csv并相应地更新表?

sqougxex

sqougxex1#

我会一直小心地在一个实时sql数据库上测试你的脚本。如果你犯了一个错误,你会覆盖你的信息,除非你有备份。
你可以考虑这两种选择。
1.将CSV和DB中的数据加载到一个单独的DF中,并对两个帧进行左连接,然后将结果推送给SQL。
1.用age变量制作一个额外的sql表,并在sql内连接这些表。
如果你仍然想尝试你的解决方案,你可以通过你的csv循环使用Pandas。

df = pd.DataFrame({'name':['John K,','Jordan','Kristen','Prima'],
          'age' : [40,35,25,33]})

for index, rows in df.iterrows():
    print(rows.age)

希望这对你有帮助

5vf7fwbs

5vf7fwbs2#

db = create_engine('mysql+mysqlconnector://{0}: 
{1}@{2}/{3}'.format(database_username, database_password, database_ip, 
database_name))
conn = db.connect()

data= pd.read_csv('youFileName.csv', engine='python')

for index, row in data.iterrows():
     age= row['age']
     number= row['number']
     args = (age, number)
     conn.execute(UPDATE_QUERY, args)

conn.close()

此答案作为CC BY-SA 4.0下OP astroboy1使用python脚本和csv文件更新数据库问题的edit发布。

相关问题