2021-10-18 python 操作 excel 表格 画图等

由于最近参加建模比赛需要用到 python 做一些辅助,因此在这里将数学建模中常用的 pyhton 辅助代码记录一下!

python读取 excel 数据

#打开一个excel表格对象
import xlrd
workBook = xlrd.open_workbook(path)
#两种方式获取 excel 中的 sheet
sheet1 = workBook.sheet_by_index(0)
sheet1= workBook.sheet_by_name('Sheet1')
#获取sheet名称、行数、列数等。
name = sheet1_content1.name 
n_rows =  sheet1_content1.nrows
n_cols = sheet1_content1.ncols
#获取一整行或者一整列的数据,返回为list
row_data = sheet1.row_values(i); # 获取第 i 行内容
col_data = sheet1.col_values(j); # 获取第 j 列内容
#获取某个单元格数据
data = sheet1.cell_value(i, j)#获取第 i 行 j 列的数据

python 向 excel 中写入数据

import openpyxl as op
#打开文件
workbook = op.load_workbook(path) 
#选取sheet1
sheet = workbook["Sheet1"]
#向Sheet1中某个单元格写入数据
sheet.cell( row, col, num)#向第 row 行 col 列写入数据数据 num;
# 将 list 的数据写入到某行或者列
list_data = [1,2,3,4,5,6,7,8,9]
for i  in range(0,len(list_data)):
	sheet.cell(1, i+1, list_data[i])#写入第一行
#保存结果
workbook.save(path)

python 画图

#导入包
import matplotlib.pyplot as plt

#创建绘图对象
plt.figure(figsize=(20,16)) 
plt.title("title") #添加标题
#x轴
x = []
for j in range(0,12):
    x.append(j)
#函数,可以是连续函数也可以是散点图
y2 = [1,5,8,9,6,3,5,4,1,2,8,5] 
y1 = []
for j in range(0,12):
    y1.append(j)
plt.plot(x,y1,"b-",linewidth=1, marker = '*',label = 'y1')
plt.plot(x,y2,"r-",linewidth=1, marker = '+',label = 'y2')  #在当前绘图对象绘图(X轴,Y轴,蓝色实线,线宽度,每个点的标识,线条的标签)
plt.legend(loc = 0)
plt.xlabel("x") #X轴标签 
plt.ylabel("y") #Y轴标签 
plt.show()

python 画子图(画多个图到一张纸)

import matplotlib.pyplot as plt

#创建绘图对象
plt.figure(figsize=(20,16)) 
plt.title("title") #添加标题
#x轴
x = []
for j in range(0,12):
    x.append(j)
#函数,可以是连续函数也可以是散点图
y2 = [1,5,8,9,6,3,5,4,1,2,8,5] 
y1 = []
for j in range(0,12):
    y1.append(j)
splt.subplot(121)
plt.plot(x,y2,"b-",linewidth=1, marker = '*',label = 'XGBoost')
plt.subplot(122)
plt.plot(x,y1,"r-",linewidth=1, marker = '+',label = 'XGBoost')  #在当前绘图对象绘图(X轴,Y轴,蓝色实线,线宽度,每个点的标识,线条的标签)
plt.legend(loc = 0)
plt.xlabel("x") #X轴标签 
plt.ylabel("y") #Y轴标签 
plt.show()

subpolt(121)表示将图分成1行2列并将下一个图放置于第一个位置。如果为222则表示将图纸分割为 2 行 2 列将图放置于第二个位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值