python 使用pd读取mysql中ths_index表格,找出表格中name列和list相同值的行,并求出list不在ths_index中name列的值
时间: 2024-02-01 15:16:29 浏览: 66
THS3091D.pdf-原理图
假设你已经成功连接了MySQL数据库,并且已经安装了pandas和MySQLdb(或者pymysql)这两个库,那么可以按照以下步骤读取数据和做筛选:
1. 导入需要的库
```python
import pandas as pd
import MySQLdb # 或者使用 import pymysql as MySQLdb
```
2. 建立数据库连接
```python
conn = MySQLdb.connect(
host='localhost',
port=3306,
user='root',
password='密码',
db='数据库名',
charset='utf8'
)
```
3. 使用pd读取数据
```python
df = pd.read_sql('SELECT * FROM ths_index', con=conn)
```
4. 筛选出name列和list相同值的行
```python
name_list = ['要筛选的name值1', '要筛选的name值2', ...]
result = df[df['name'].isin(name_list) & df['name'].eq(df['list'])]
```
5. 求出list不在ths_index中name列的值
```python
list_values = result['list'].unique()
result = df[~df['name'].isin(list_values) & ~df['list'].isin(list_values)]
```
最终,result就是筛选出的结果。注意,在第4步中,`df['name'].eq(df['list'])` 表示判断 name 和 list 是否相等,返回一个布尔值的 Series。而在第5步中,`~` 表示取反,即找出不在 list_values 中的值。
阅读全文