1.方法一:xlwt

1.1 安装包

pip install xlwt

1.2 保存数据到 Excel

import xlwt
import numpy as np
import random
# 新建表格
book = xlwt.Workbook(encoding='utf-8', style_compression=0)
sheet = book.add_sheet('mysheet', cell_overwrite_ok=True) #设置多个sheet
# 往第一行写入名称
sheet.write(0, 0, "espisode")
sheet.write(0, 1, "reward")
episode=100
reward=random.sample(range(50, 150), episode)
for i in range(100):# 将数据写入前两列   sheet.write(i+1, 1, reward[i]) # 第i+1行0列sheet.write(i+1, 0, i+1)       # 第i+1行1列
# 保存表格
book.save('data.xls')

效果:

2. 方法二:openpyxl

pip install openpyxl
from openpyxl import Workbook
#新建对象
wb=Workbook()
#激活sheet
sheet=wb.active
#给sheet一个名字
sheet.title='mysheet'
# 增加一行的语法是
# sheet.append(一维的list或tuple)
sheet.append(['编号','姓名','年龄','性别'])
sheet.append([1,'556',20,'男'])
sheet.append([2,'770',22,'男'])
# 保存
wb.save('test.xlsx')

效果:

2.1 超详细例子

自己代码例子:数据过大保存到第三四列

def save(train_episode, test_episode, train_reward, evaluate_reward):book = xlwt.Workbook(encoding='utf-8', style_compression=0)sheet = book.add_sheet('train', cell_overwrite_ok=True)  # 设置多个sheetsheet2 = book.add_sheet('evaluate', cell_overwrite_ok=True)# 往第一行写入名称sheet.write(0, 0, "train_episode")sheet.write(0, 1, "train_reward")for i in train_episode:# 将数据写入前两列sheet.write(i+1, 1, train_reward[i])  # 第i+1行0列sheet.write(i+1, 0, i+1)       # 第i+1行1列if i >=60000:sheet.write(0, 2, "train_episode")sheet.write(0, 3, "train_reward")for j in (train_episode-60000):sheet.write(j+1, 3, train_reward[i])  # 第i+1行0列sheet.write(j+1, 2, train_episode)       # 第i+1行1列sheet2.write(0, 0, "episode")sheet2.write(0, 1, "evaluate_reward")for k in test_episode:# 将数据写入前两列sheet.write(k+1, 1, evaluate_reward[k])  # 第i+1行0列sheet.write(k+1, 0, k+1)       # 第i+1行1列# 保存表格book.save('reward.xls')

3.xlrd读取excel文件并画图

3.1 安装以及相关报错

pip install xlrd

值得注意的是:文件格式要保存为xls【excel数据存储另存为xls比较稳妥】,直接改后缀名可能还会报错,报错如下:

Excel xlsx file; not supported

Unsupported format, or corrupt file: Expected BOF record; found b'<?xml ve'

3.2 代码例子:

import xlwt
import randomimport matplotlib.pyplot as plt
import xlrdplt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
x_data=[]
y_data=[]data = xlrd.open_workbook('text.xls')
table = data.sheets()[0]cap = table.col_values(1) #读取第二列数据
cap1 = table.col_values(0)#读取第一列数据
#print(cap)  #打印出来检验是否正确读取for i in range(0,998):y_data.append(cap[i])x_data.append(cap1[i]*50) #对第一列数据扩大50倍plt.plot(x_data, y_data,color="#006bac")
plt.title('标题')
plt.legend()#标签plt.xlabel('episodes')
plt.ylabel('Average reward')
plt.show()

3.3 代码多图例子

import xlrd
import matplotlib.pyplot as plt
#调节字体
plt.rcParams['font.sans-serif'] = ['SimHei']  # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False  # 用来正常显示负号
#导入excel文件,以及第几张表
data = xlrd.open_workbook('GDP2(已自动还原).xls')
table = data.sheets()[0]
#第一个图的数据
t1 = table.col_values(1)
tt = t1[1:90]
xAxis1 = range(1929,2018)
#第二个图的数据
t2 = table.col_values(2)
tu = t2[27:90]
xAxis2 = range(1955,2018)
#第三个图的数据
t3 = table.col_values(3)
tv = t3[20:90]
xAxis3 = range(1948,2018)
#第四个图的数据
t4 = table.col_values(4)
tw = t4[42:90]
xAxis4 = range(1970,2018)
#作图
plt.plot(xAxis1, tt, label='美国GDP')
plt.plot(xAxis2, tu, label='日本GDP')
plt.plot(xAxis3, tv, label='英国GDP')
plt.plot(xAxis4, tw, label='韩国GDP')
plt.xlabel('年份')
plt.ylabel('GDP现价')
plt.title("各国GDP的变化")
plt.legend()
plt.show()

Python xlwt数据保存到 Excel中以及xlrd读取excel文件画图相关推荐

  1. Python爬虫数据保存到MongoDB中

    MongoDB是一款由C++语言编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,其内容存储方式类似于JSON对象,它的字段值可以是其它文档或数组,但其数据类型只能是String文本型. ...

  2. Python将数据保存到CSV中/with open() as f 用法

    常见的读写操作: with open(r'filename.txt') as f:    data_user=pd.read_csv(f)  #文件的读操作 with open('data.txt', ...

  3. vue 将数据保存到vuex中

    在项目中遇到这样一个问题,就是在登入的时候同时需要从后台获取到左边的导航,但是如果使用h5的localStorage来保存导航信息,会出现app加载进去之后localStorage才保存进浏览器,在m ...

  4. Arduino ESP32将数据保存到NVS中

    Arduino ESP32将数据保存到NVS中 该功能类似AVR单片机里面的EEPROM存储区域. 关于ESP32分区表参考<分区表> Preferences中数据以键值对(key - v ...

  5. Redis使用场景一,查询出的数据保存到Redis中,下次查询的时候直接从Redis中拿到数据。不用和数据库进行交互。...

    maven使用: <!--redis jar包--><dependency><groupId>redis.clients</groupId><ar ...

  6. 一篇文章让你轻松学会python爬取的数据保存到MySQL中,有案例哦

    文章目录 pymysql 基本使用 八个步骤以及案例分析 一.导入pymysql模块 二.获取到database的链接对象 三.创建数据表的方法 四.获取执行sql语句的光标对象 五.定义要执行的sq ...

  7. python 读excel中的sheet_python读取excel文件中所有sheet表格

    sales: store: """ (1)用load_workbook函数打开excel文件,返回一个工作簿对象 (2)用工作簿对象获取所有的sheet (3)第一个fo ...

  8. 把数据保存到cook_将用户信息保存到Cookie中

    /** * 把用户保存到Cookie * * @param request * @param response * @param member */ private void rememberPwdA ...

  9. 【Arduino串口数据保存到excel中常用三种方法】

    [Arduino串口数据保存到excel中常用三种方法] 1. 前言 2. 利用excel自带Data Streamer读取 2.1 启用 Data Streamer 加载项 2.2 刷写代码并将微控 ...

最新文章

  1. 模板引擎:VelocityFreeMarker(转)
  2. Python告诉你:为何年终奖多发一元,到手却少两千多?
  3. 任务中断间的同步与通信概述
  4. Java 设计模式——状态模式
  5. python外卷(7)--glob
  6. Jackson动态处理返回字段
  7. mysql u0019_mysql服务无法启动
  8. 第2节 azkaban调度:17、azkaban的两个服务模式的安装
  9. mysql脚本编写与案例_MySQL语句执行顺序和编写顺序实例解析
  10. python处理rgb_如何读取Python中给定像素的RGB值?
  11. RMI 自己创建的 过程
  12. linux下plsql怎么执行sql脚本,plsql怎么执行sql脚本
  13. 五笔字根表识别码图_怎么学五笔 五笔字根表键盘图 【详细介绍】
  14. 深入理解JVM虚拟机读书笔记——运行时数据区
  15. AI算法 - 粒子滤波
  16. 【GCN-CTR】端到端的GNN-CTR:Dual Graph enhanced Embedding Neural Network for CTR Prediction (KDD‘21)
  17. Syntax error, annotations are only available if source level is 1.5 or greater
  18. 由浅入深的分析HashMap原理
  19. PaddleX快速实现图像分类训练
  20. 在练琴时关于音乐与计算机结合的碎思考

热门文章

  1. Matlab 生物节律作图软件
  2. 红米蓝牙Redmi AirDots,左右耳无法配对解决办法
  3. 英雄联盟怎么窗口化 lol窗口模式怎么移动缩小
  4. canvas绘制小黄鸭
  5. 【程序员】如何提高查找资料能力
  6. STM32数据的搬运工DMA
  7. Java项目中数据库从mysql 5.7更换到mysql8.0.18版本
  8. 支付宝rsa2秘钥生成
  9. Excel查看某列的重复值
  10. 亿联网络什么时候上市的?亿联网络属于什么行业?