python爬取京东2023年手机销量排行榜并且保存到csv文件中,做数据可视化
时间: 2024-03-17 15:42:10 浏览: 168
好的,那么在上一个问题的基础上,我们可以将结果保存到CSV文件中,方便后续进行数据可视化处理。
首先,我们需要将结果保存到一个二维列表中,然后使用Python的csv库将二维列表写入CSV文件中。
```python
import csv
result = []
for item in items:
name = item.find('div', {'class': 'p-name'}).text.strip()
sales = item.find('div', {'class': 'p-commit'}).text.strip().replace('条评价', '')
result.append([name, sales])
with open('mobile_sales.csv', 'w', newline='', encoding='utf-8-sig') as f:
writer = csv.writer(f)
writer.writerow(['商品名称', '销量'])
for row in result:
writer.writerow(row)
```
在这里,我们使用了csv.writer来创建一个写入CSV文件的对象,然后使用writerow方法写入每一行数据。注意,我们需要在打开文件时指定newline=''参数,否则会出现多余的空行。
最后,我们可以使用Python的pandas库读取CSV文件,并使用matplotlib库进行数据可视化处理。这里给出一个简单的示例:
```python
import pandas as pd
import matplotlib.pyplot as plt
df = pd.read_csv('mobile_sales.csv')
plt.bar(df['商品名称'], df['销量'])
plt.xticks(rotation=90)
plt.xlabel('商品名称')
plt.ylabel('销量')
plt.title('2023年京东手机销量排行榜')
plt.show()
```
在这里,我们使用了pandas库读取CSV文件,并将商品名称和销量分别作为x轴和y轴数据进行绘图。注意,我们需要使用plt.xticks(rotation=90)来将x轴标签旋转90度,否则标签可能会重叠。
希望这个示例能够帮助您完成爬取京东销量排行榜并进行数据可视化的任务。
阅读全文