在pytharm中如何对Excel进行操作以及对CSV.文件操作

import pandas as pd
import matplotlib.pyplot as plt
t='C:/Windows/Fonts/simhei.ttf'
import matplotlib.font_manager as fm
font_prop = fm.FontProperties(fname=t)
plt.rcParams['font.family'] = 'SimHei'

pandas 是一个开源的python数据分析,他有DataFrame(就是一个二维表给型数据结构)和Series(一维标签数组)

import matplotlib.pyplot as plt 是 Python 中用于绘图的常用语句。它引入了 matplotlib 库,并将其中的子模块 pyplot 重命名为 plt,以方便使用。

matplotlib 是一个强大的绘图库,能够创建各种类型的静态、动态和交互式的图形。它提供了广泛的绘图功能,包括线图、散点图、柱状图、饼图、等高线图等,可用于数据可视化、数据分析、科学计算等领域。

下面的就是为了生成图片时图片创造不出文字,所以需要写入import matplotlib.font_manager as fm   font_prop = fm.FontProperties(fname=t)   plt.rcParams['font.family'] = 'SimHei'

这段代码是为了让pytharm可以读取      Excel 表格

df = pd.read_excel('C:/Users/zzh12/Desktop/a.xlsx')

这是为了将成绩转换为数值类型

df['成绩'] = pd.to_numeric(df['成绩'], errors='coerce')

 这是打印出全部内容

for index, row in df.iterrows():
    print(f"姓名: {row['姓名']},成绩: {row['成绩']}")

这是找出最高和最低的三位同学


top3_students = df.nlargest(3, '成绩')

bottom3_students = df.nsmallest(3, '成绩')

输出最高成绩和最低成绩的三个人

print("最高分的三个人:")
for index, row in top3_students.iterrows():
    print(f"姓名: {row['姓名']},成绩: {row['成绩']}")

print("最低分的三个人:")
for index, row in bottom3_students.iterrows():
    print(f"姓名: {row['姓名']},成绩: {row['成绩']}")

这是提取最高和最低的成绩,刚才的是打印出Excel里面的数据内容,现在是对Excel的数据进行提取拿到Pytharm里面

max_score = top3_students['成绩'].max()
min_score = bottom3_students['成绩'].min()

计算出平均成绩

average_score = df['成绩'].mean()
print(f"平均成绩: {average_score}")

找出高于平均分的同学和低于平均分的同学

above_average = df.loc[df['成绩'] > average_score]
below_average = df.loc[df['成绩'] < average_score]
print("高于平均分的同学:")
for index, row in above_average.iterrows():
    print(f"姓名: {row['姓名']},成绩: {row['成绩']}")
print("低于平均分的同学:")
for index, row in below_average.iterrows():
    print(f"姓名: {row['姓名']},成绩: {row['成绩']}")

将最高分的前三个人和后三个人存入到csv文件内

top3_students.to_csv('top3_students.csv', index=False)
bottom3_students.to_csv('bottom3_students.csv', index=False)
student_data = {
    'top3_students': top3_students.to_dict(orient='records'),
    'bottom3_students': bottom3_students.to_dict(orient='records')
}

将Csv文件报存

pd.DataFrame.from_dict(student_data).to_csv('student_data.csv', index=False)

然后用变量名字接受Csv的内容

df = pd.read_csv('student_data.csv')

接着就是设计生成图片以及图片的样式

# 创建空白图像
plt.figure(figsize=(10, 8))
plt.axis('off')

# 将DataFrame的内容直接复制到图像中
table = plt.table(cellText=df.values, colLabels=df.columns, cellLoc='center', loc='center')

# 设置表格字体大小
table.auto_set_font_size(False)
table.set_fontsize(12)

# 调整单元格的宽度
table.scale(1, 1.5)

# 保存图片
plt.savefig('student_data_table.png', bbox_inches='tight', pad_inches=0.5)

# 展示图片
plt.show()

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值