python诗人作品统计
时间: 2023-06-25 08:06:14 浏览: 118
以下是一个简单的 Python 代码,用于统计指定文件中每个诗人的作品数量:
```python
import collections
# 打开文件并读取所有行
with open("poems.txt", "r") as f:
lines = f.readlines()
# 使用 Counter 对诗人作品数量进行统计
poet_counts = collections.Counter()
for line in lines:
poet = line.split(":")[0].strip()
poet_counts[poet] += 1
# 输出每个诗人的作品数量
for poet, count in poet_counts.items():
print("{}: {}".format(poet, count))
```
在这个示例代码中,我们假设诗人的名字和作品之间用冒号分隔,并且每个诗人的所有作品都在文件的连续行中。你可以根据实际情况对代码进行修改。
相关问题
python统计诗人与作品
可以使用Python中的爬虫和数据分析库来统计诗人与作品。
以下是一个简单的示例代码:
```python
import requests
from bs4 import BeautifulSoup
import pandas as pd
# 爬取古诗文网的唐诗列表
url = 'https://www.gushiwen.org/gushi/tangshi.aspx'
html = requests.get(url).text
soup = BeautifulSoup(html, 'html.parser')
tangshi_list = soup.find_all('div', class_='typecont')[1].find_all('a')
# 创建空的DataFrame
df = pd.DataFrame(columns=['poet', 'title', 'content'])
# 循环遍历唐诗列表,并爬取每首诗的内容
for tangshi in tangshi_list:
title = tangshi.text.strip()
href = tangshi['href']
html = requests.get(href).text
soup = BeautifulSoup(html, 'html.parser')
poet = soup.find('div', class_='cont').find_all('a')[1].text.strip()
content = '\n'.join([p.text.strip() for p in soup.find('div', class_='cont').find_all('p')])
df = df.append({'poet': poet, 'title': title, 'content': content}, ignore_index=True)
# 统计每个诗人的作品数量
poet_count = df.groupby('poet').size().sort_values(ascending=False)
print(poet_count)
```
这段代码会爬取古诗文网的唐诗列表,然后循环遍历每一首诗,爬取每首诗的内容,并将诗人、诗名和内容存储到一个DataFrame中。最后,使用Pandas的groupby方法统计每个诗人的作品数量,并按照数量降序排列。
python画图作品
Python是一种非常强大的编程语言,也可以用来进行数据可视化和图形绘制。以下是一些Python画图作品的介绍:
1. Matplotlib:这是Python中最常用的画图工具之一。它提供了各种绘图选项,包括折线图、散点图、条形图、直方图、饼图等等。Matplotlib非常灵活,可以自定义各种细节,比如图例、坐标轴、标签等。
2. Seaborn:这是一个基于Matplotlib的高级绘图库,它提供了更多的统计图形和颜色主题,可用于更深入的数据分析和可视化。
3. Plotly:这是一个交互式绘图库,它可以生成漂亮的动态图表。Plotly的输出可以嵌入到网页中,方便在网络上共享和交互。
4. Bokeh:这也是一个交互式绘图库,但它专注于大规模数据集的可视化。Bokeh可以处理数百万个数据点,并支持动态更新和交互操作。