文本文件(.csv文件可以作为文本文件处理)中保存了图书馆藏书信息,每条藏书记录占一行 数据字段说明: LIBRARY_ID:藏馆ID(可能有多个藏馆) REC_CTRL_I:录入编号 BOOK_BARCO:图书条码 DEPARTMENT:所属部门 BOOK_SEARC:索书号 TITLE:图书名称 ISN:ISBN出版号 AUTHORS:作者 PUBLISHER:出版社 PUBDATE_DA:出版时间 BOOK_ATTRI:图书属性 BOOK_STATU:图书状态 (用函数定义,不用pandas)列出所有书名中包括“开发”字样的藏书和这些藏书所属的出版社,(用函数定义,不用pandas)统计每个出版社的”开发“字样藏书数量
时间: 2024-03-04 21:48:35 浏览: 66
以下是一个用 Python 实现的函数,用于列出所有书名中包括“开发”字样的藏书和这些藏书所属的出版社,并统计每个出版社的”开发“字样藏书数量。
```python
def find_books_with_keyword(file_path, keyword):
# 打开文件
with open(file_path, 'r') as f:
# 跳过第一行(数据字段说明)
next(f)
# 初始化结果字典
result = {}
# 逐行读取文件
for line in f:
# 解析每行数据
data = line.strip().split(',')
book_title = data[6] # 图书名称在第7列
publisher = data[9] # 出版社在第10列
# 判断书名中是否包含关键字
if keyword in book_title:
# 将出版社和书名添加到结果字典中
if publisher in result:
result[publisher].append(book_title)
else:
result[publisher] = [book_title]
# 输出结果
for publisher, books in result.items():
print(f'出版社:{publisher},包含关键字的藏书数量:{len(books)}')
for book in books:
print(f'\t{book}')
```
使用示例:
```python
file_path = 'library.csv'
keyword = '开发'
find_books_with_keyword(file_path, keyword)
```
注意事项:
1. 该函数假定输入的文件为 CSV 格式,每行数据字段使用逗号分隔。
2. 该函数不使用 Pandas 库,而是使用 Python 内置的文件读写功能和基本的数据处理技巧来实现功能。
阅读全文