我有一个DataFrame,数据长度范围是1-100,其中有一列是IMIE号,我要根据这些IMEI号去数据库查出这些IMEI号的信息,请写Python代码实现
时间: 2024-02-10 09:10:37 浏览: 133
python pandas.DataFrame选取、修改数据最好用.loc,.iloc,.ix实现
假设你的DataFrame名字为`df`,IMEI号所在的列名为`IMEI`,数据库连接对象为`conn`,可以按照以下步骤来实现:
1. 将IMEI号转换为字符串类型,并去重(防止重复查询)。
```
imei_list = df['IMEI'].astype(str).unique().tolist()
```
2. 构造SQL语句,根据IMEI号从数据库中查询对应的信息。
```
sql = "SELECT * FROM your_table WHERE IMEI IN ({})".format(','.join(['%s']*len(imei_list)))
```
3. 执行SQL语句,并将结果转换成DataFrame。
```
import pandas as pd
cursor = conn.cursor()
cursor.execute(sql, imei_list)
data = cursor.fetchall()
df_result = pd.DataFrame(data, columns=[desc[0] for desc in cursor.description])
```
其中,`your_table`是你需要查询的表的名称,`desc[0] for desc in cursor.description`是获取查询结果的列名列表。
最终得到的`df_result`就是根据IMEI号查询到的结果DataFrame。
阅读全文