文本文件(.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)统计每个出版社的”开发“字样藏书数量,用函数定义(不用pandas)按照该藏书数量降序输出,数量相同按照出版社名字升序。用函数定义(不用pandas)将结果书名,出版社名,和排序结果写入result.txt文件中
时间: 2024-03-04 09:51:13 浏览: 24
以下是Python实现的代码,可以实现您的需求:
```python
def search_books(filename):
with open(filename, 'r') as f:
books = []
for line in f:
book_info = line.strip().split(',')
if '开发' in book_info[6]:
books.append((book_info[5], book_info[8]))
return books
def count_books_by_publisher(books):
publisher_count = {}
for book in books:
publisher = book[1]
if publisher in publisher_count:
publisher_count[publisher] += 1
else:
publisher_count[publisher] = 1
return publisher_count
def sort_publishers_by_book_count(publisher_count):
sorted_publishers = sorted(publisher_count.items(), key=lambda x: (-x[1], x[0]))
return sorted_publishers
def write_to_file(sorted_publishers):
with open('result.txt', 'w') as f:
for i, publisher in enumerate(sorted_publishers):
f.write(f'{i+1}. {publisher[0]}: {publisher[1]} books\n')
filename = 'books.csv'
books = search_books(filename)
publisher_count = count_books_by_publisher(books)
sorted_publishers = sort_publishers_by_book_count(publisher_count)
write_to_file(sorted_publishers)
```
这个程序会读取一个名为`books.csv`的CSV文件,然后找出所有书名中包含“开发”字样的藏书,以及这些藏书所属的出版社。接着,它会统计每个出版社的“开发”字样藏书数量,并按照数量降序输出,数量相同则按照出版社名字升序。最后,程序将结果写入`result.txt`文件中,包括书名,出版社名,和排序结果。
请注意,这个程序并没有使用Pandas库来处理CSV文件,而是使用了Python内置的文件读取和字符串处理功能。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)