处理Excel表格数据时,如果只靠文字和数字,难免让人觉得头大。图表这东西就像数据里的美颜滤镜,轻轻一套,效果拔群。今天,我们用Python搞定从Excel数据到可视化图表的整个流程,不用多复杂,一步步来。
「准备工作:读取Excel数据」
要搞可视化,先得从Excel里把数据捞出来。Python有个好用的库叫pandas,可以轻松读取和处理表格数据。
假设有一个Excel文件叫sales_data.xlsx,内容大概是这样的:
代码如下:
import pandas as pd
# 读取Excel文件
file_path = "sales_data.xlsx"
data = pd.read_excel(file_path)
# 查看数据
print(data)
「运行结果:」
Month Sales
0 January 1000
1 February 1500
2 March 2000
3 April 2500
温馨提示:如果代码报错,可能是openpyxl没安装,可以用下面的命令装一下:
pip install openpyxl
「绘制基本图表:柱状图」
有了数据,接下来就要让它“长脸”了。Python里matplotlib是可视化的老大哥,用它画个柱状图轻轻松松。
import matplotlib.pyplot as plt
# 数据提取
months = data["Month"]
sales = data["Sales"]
# 创建柱状图
plt.bar(months, sales, color="skyblue")
plt.title("Monthly Sales")
plt.xlabel("Month")
plt.ylabel("Sales ($)")
plt.show()
「运行结果:」
一个漂亮的柱状图直接弹出来,横轴是月份,纵轴是销售额,每根柱子都清清楚楚。
温馨提示:如果图形窗口没弹出来,可以试试加上plt.show(block=True)强制显示。
「升级图表:折线图」
柱状图不错,但有些场景折线图更适合,比如想看销售额的趋势。这时候,直接改成折线图:
# 折线图
plt.plot(months, sales, marker="o", linestyle="-", color="orange")
plt.title("Sales Trend")
plt.xlabel("Month")
plt.ylabel("Sales ($)")
plt.grid(True) # 添加网格线
plt.show()
这段代码的结果是一个干净的折线图,点点相连,清晰展示每个月的销售变化。
「进阶:饼图展示占比」
如果想看看每个月的销售额占全年总额的比例,可以用饼图:
# 饼图
plt.pie(sales, labels=months, autopct="%1.1f%%", startangle=90, colors=["red", "blue", "green", "purple"])
plt.title("Sales Distribution")
plt.axis("equal") # 让饼图是圆的
plt.show()
这个饼图不仅能直观展示每个月的占比,还会自动加上百分比,颜值高又实用。
「批量生成图表:自动化处理」
假设你的Excel文件里有多个Sheet,每个Sheet对应一组数据,你想给每组数据画个柱状图。这时候可以批量处理,自动生成图表。
# 批量生成柱状图
excel_data = pd.ExcelFile(file_path) # 读取Excel文件的多个Sheet
for sheet_name in excel_data.sheet_names:
data = pd.read_excel(file_path, sheet_name=sheet_name)
months = data["Month"]
sales = data["Sales"]
plt.bar(months, sales, color="lightgreen")
plt.title(f"Sales in {sheet_name}")
plt.xlabel("Month")
plt.ylabel("Sales ($)")
plt.savefig(f"{sheet_name}_sales_chart.png") # 保存图片
plt.close() # 关闭当前图形
运行后,每个Sheet的柱状图会保存成图片文件,比如January_sales_chart.png、February_sales_chart.png。
「常见问题和解决方法」
「Excel文件无法读取」
检查文件路径是否正确,或者文件是否被占用。最好把文件放在当前代码所在的目录,避免路径问题。
「中文字符显示不出来」
如果你的图表需要显示中文,比如月份是“一月、二月”,可以设置字体:
「图表样式太单调」
可以尝试用seaborn,它基于matplotlib,默认样式更美观:
「总结下几个要点:」
「用pandas读取 Excel 数据。」
「用matplotlib或seaborn绘制柱状图、折线图、饼图等。」
「可以批量生成图表,自动保存,提高效率。」
图表不仅让数据“会说话”,还能帮你赢得更多喝咖啡的时间。熟练了之后,数据分析真的就像在画画一样简单。
领取专属 10元无门槛券
私享最新 技术干货