文本文件(.csv文件可以作为文本文件处理)中保存了图书馆藏书信息,每条藏书记录占一行 数据字段说明: LIBRARY_ID:藏馆ID(可能有多个藏馆) REC_CTRL_I:录入编号 BOOK_BARCO:图书条码 DEPARTMENT:所属部门 BOOK_SEARC:索书号 TITLE:图书名称 ISN:ISBN出版号 AUTHORS:作者 PUBLISHER:出版社 PUBDATE_DA:出版时间 BOOK_ATTRI:图书属性 BOOK_STATU:图书状态 (用函数定义不用pandas)统计每个出版社的”开发“字样藏书数量
时间: 2023-08-12 12:04:38 浏览: 108
好的,我可以帮您编写一个Python函数来完成这个任务。请参考以下代码:
```python
def count_books_by_publisher(file_path):
"""
统计每个出版社的“开发”字样藏书数量
:param file_path: 文件路径
:return: 字典,键为出版社名称,值为包含“开发”字样的藏书数量
"""
keyword = "开发"
publisher_dict = {}
with open(file_path, "r", encoding="utf-8") as f:
for line in f:
line = line.strip()
fields = line.split(",")
publisher = fields[8]
title = fields[6]
if publisher not in publisher_dict:
publisher_dict[publisher] = 0
if keyword in title:
publisher_dict[publisher] += 1
return publisher_dict
```
这个函数的参数是一个文件路径,返回一个字典,键为出版社名称,值为包含“开发”字样的藏书数量。函数的实现方式是逐行读取文件,提取出每行的出版社和图书名称,如果图书名称中包含“开发”字样,则对应出版社的数量加1。最后返回统计结果的字典。
注意:由于您要求不使用pandas,因此此函数没有使用pandas库进行数据处理。如果您的数据量较大,使用pandas库可能会更高效。
阅读全文