使用python从两个表依次读出所有记录,然后比较其中的某两个字段如何表1中的的两个字段值,在表2中也出现,则打印该记录
时间: 2023-05-23 10:07:08 浏览: 91
Python使用pymysql从MySQL数据库中读出数据的方法
A:
假设表1和表2的字段名分别为 field1 和 field2。
可以使用 Python 的 Pandas 库来方便的读取和比较表格数据。
首先需要安装 Pandas 库,可以使用以下命令:
```
pip install pandas
```
接下来,假设表1和表2的数据分别保存在名为 table1.csv 和 table2.csv 的文件中。可以使用 Pandas 的 read_csv 函数读取这两个文件:
```python
import pandas as pd
# 读取表1和表2的数据
df1 = pd.read_csv('table1.csv')
df2 = pd.read_csv('table2.csv')
```
接下来,可以遍历表1和表2的每一行数据,比较 field1 和 field2 字段是否在另一个表中出现:
```python
for i, row1 in df1.iterrows():
for j, row2 in df2.iterrows():
# 如果表1中的字段与表2中的字段相同,打印该记录
if row1['field1'] == row2['field1'] and row1['field2'] == row2['field2']:
print(f'Record matched: {row1} and {row2}')
```
这里使用了 Pandas 的 iterrows 函数,遍历表格中的每一行数据。对于表1中的每一行数据,都遍历一遍表2中的每一行数据,找到匹配的记录就打印出来。
完整代码如下:
```python
import pandas as pd
# 读取表1和表2的数据
df1 = pd.read_csv('table1.csv')
df2 = pd.read_csv('table2.csv')
# 比较并打印匹配的记录
for i, row1 in df1.iterrows():
for j, row2 in df2.iterrows():
# 如果表1中的字段与表2中的字段相同,打印该记录
if row1['field1'] == row2['field1'] and row1['field2'] == row2['field2']:
print(f'Record matched: {row1} and {row2}')
```
注:上述代码假设表格中没有重复记录。如果表格中可能存在重复记录,需要对 Pandas 的 drop_duplicates 函数进行调用。比如,可以在读取表格时加上以下参数:
```python
# 去除表格中的重复记录
df1 = pd.read_csv('table1.csv').drop_duplicates()
df2 = pd.read_csv('table2.csv').drop_duplicates()
```
阅读全文