用python语言编写对一个表格数据查询,输出所查的元素对应表格所在的一行数据
时间: 2023-05-25 12:02:41 浏览: 76
假设我们有一个保存在CSV文件中的表格,如下:
```
name,age,gender
Tom,28,Male
Amy,23,Female
John,31,Male
Jane,26,Female
```
而我们需要编写一个程序,实现对该表格的数据查询功能。具体来说,用户可以输入一行数据中的一个元素,程序可以输出该元素所在的一行数据。下面是这个程序的Python实现:
```python
import csv
# 读取表格数据
with open('table.csv', 'r') as f:
reader = csv.DictReader(f)
table = [row for row in reader]
# 查询函数
def query(table: list, **conditions):
result = []
for row in table:
match = True
for key, value in conditions.items():
if row[key] != value:
match = False
break
if match:
result.append(row)
return result
# 用户输入
element = input('请输入要查询的元素:')
# 进行查询并输出结果
result = query(table, name=element, age=element, gender=element)
if len(result) == 0:
print('未找到匹配数据')
else:
for row in result:
print(row)
```
我们首先使用CSV模块读取表格数据,然后定义一个查询函数`query()`,该函数接受一个表格数据和多个查询条件作为参数,返回符合条件的行数据。
在主程序中,我们首先让用户输入要查询的元素,然后调用`query()`函数进行查询。查询时,我们将用户输入的元素作为三个查询条件同时传入,因为该元素可能是姓名、年龄或性别中的任意一个。最后,我们将查询结果输出。
需要注意的是,该程序只能实现精确查询,即只有当输入元素与表格中的元素完全一致时才会返回匹配数据。如果需要实现模糊查询或其它类型的查询,需要对`query()`函数进行相应的修改。
阅读全文