xlwt/xlrd库 存Excel文件:(如果存储数据中有字符,那么写法还有点小小的变化)

  1. import xlwt
  2. workbook = xlwt.Workbook(encoding='utf-8')
  3. booksheet = workbook.add_sheet('Sheet 1', cell_overwrite_ok=True)
  4. #存第一行cell(1,1)和cell(1,2)
  5. booksheet.write(0,0,34)
  6. booksheet.write(0,1,38)
  7. #存第二行cell(2,1)和cell(2,2)
  8. booksheet.write(1,0,36)
  9. booksheet.write(1,1,39)
  10. #存一行数据
  11. rowdata = [43,56]
  12. for i in range(len(rowdata)):
  13. booksheet.write(2,i,rowdata[i])
  14. workbook.save('test_xlwt.xls')

读Excel文件:(同样是对于数值类型数据)

  1. import xlrd
  2. workbook = xlrd.open_workbook('D:\\Py_exercise\\test_xlwt.xls')
  3. print(workbook.sheet_names())                  #查看所有sheet
  4. booksheet = workbook.sheet_by_index(0)         #用索引取第一个sheet
  5. booksheet = workbook.sheet_by_name('Sheet 1')  #或用名称取sheet
  6. #读单元格数据
  7. cell_11 = booksheet.cell_value(0,0)
  8. cell_21 = booksheet.cell_value(1,0)
  9. #读一行数据
  10. row_3 = booksheet.row_values(2)
  11. print(cell_11, cell_21, row_3)
  12. >>>34.0 36.0 [43.0, 56.0]

openpyxl 库 存Excel文件:

  1. from openpyxl import Workbook
  2. workbook = Workbook()
  3. booksheet = workbook.active     #获取当前活跃的sheet,默认是第一个sheet
  4. #存第一行单元格cell(1,1)
  5. booksheet.cell(1,1).value = 6   #这个方法索引从1开始
  6. booksheet.cell("B1").value = 7
  7. #存一行数据
  8. booksheet.append([11,87])
  9. workbook.save("test_openpyxl.xlsx")


读Excel文件:

  1. from openpyxl import load_workbook
  2. workbook = load_workbook('D:\\Py_exercise\\test_openpyxl.xlsx')
  3. #booksheet = workbook.active                #获取当前活跃的sheet,默认是第一个sheet
  4. sheets = workbook.get_sheet_names()         #从名称获取sheet
  5. booksheet = workbook.get_sheet_by_name(sheets[0])
  6. rows = booksheet.rows
  7. columns = booksheet.columns
  8. #迭代所有的行
  9. for row in rows:
  10. line = [col.value for col in row]
  11. #通过坐标读取值
  12. cell_11 = booksheet.cell('A1').value
  13. cell_11 = booksheet.cell(row=1, column=1).value

原理上其实都一样,就写法上有些差别。

其实如果对存储格式没有要求的话,我觉得存成 csv文件 也挺好的:

  1. import pandas as pd
  2. csv_mat = np.empty((0,2),float)
  3. csv_mat = np.append(csv_mat, [[43,55]], axis=0)
  4. csv_mat = np.append(csv_mat, [[65,67]], axis=0)
  5. csv_pd = pd.DataFrame(csv_mat)
  6. csv_pd.to_csv("test_pd.csv", sep=',', header=False, index=False)

因为它读起来非常简单:

    1. import pandas as pd
    2. filename = "D:\\Py_exercise\\test_pd.csv"
    3. csv_data = pd.read_csv(filename, header=None)
    4. csv_data = np.array(csv_data, dtype=float)

python 表格存取方法(转)的更多相关文章

  1. python表格导出--xlwt的使用

    xlwt可以用来导出excel表,下面介绍一下它的用法: 1. 安装xlwt模块 pip install xlwt 2. 使用xlwt模块:后端接口编写 import xlwt #导出表格接口 def ...

  2. Python简单爬虫入门三

    我们继续研究BeautifulSoup分类打印输出 Python简单爬虫入门一 Python简单爬虫入门二 前两部主要讲述我们如何用BeautifulSoup怎去抓取网页信息以及获取相应的图片标题等信 ...

  3. Python SQLAlchemy --1

    本文為 Python SQLAlchemy ORM 一系列教學文: SQLAlchemy 大概是目前 Python 最完整的資料庫操作的套件了,不過最令人垢病的是它的文件真的很難閱讀,如果不搭配個實例 ...

  4. (GoRails)ActiveRecord --explain方法:(优化你的查询)

    https://gorails.com/episodes/activerecord-explain?autoplay=1 比如没有加index的查询和加了index的查询,调用数据库的速度就差5倍. ...

  5. Typora学习

    Markdown学习总结 标题的使用格式 # 一阶标题 或者 ctrl + 1 ## 二阶标题 或者 ctrl + 2 ### 三阶标题 或者 ctrl + 3 #### 四阶标题 或者 ctrl + ...

  6. Typora简介

    Typora是什么 Typora是一款支持实时预览的Markdown文本编辑器,拥有macOS.Windows.Linux三个平台的版本,并且完全免费. 下载地址:https://www.typora ...

  7. Python处理Excel表格

    同事小王今天说他有一个Excel表格,表格如下,一列是姓名,一列是电话号码,总共有大概2000行数据. 有的姓名占了一行,有的占了两行,还有一些占了三行的.如下图: 他问我可不可以全部统一成一行,而且 ...

  8. python操作excel表格(xlrd/xlwt)

    最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究&q ...

  9. python 使用openpyxl来写数据到excel表格

    使用openpyxl写execl确实很方便.我先介绍用到的相关模块与函数 Workbook:工作簿模块,在内存创建一个工作簿. ExcelWriter:使用它向exel中写数据. get_column ...

随机推荐

  1. Linux学习_按时间顺序解压多个文件,搜索文件中的内容

    ls的结果按时间数据先排序,再取末尾5个文件,再调用tar命令 ls -1 | sort -u | tail -5 |xargs -n1 tar xzvf 利用grep命令从文件中搜索. grep - ...

  2. 深入了解MongoDB

    一.介绍: 数据库分为关系型数据库和非关系型数据库 关系型数据库是建立在关系模型上的数据库,主要的有Oracle MySQL Microsoft SQL Server NoSQL是非关系型数据存储的广 ...

  3. hdu-3584 Cube---三维树状数组+区域更新单点查询

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=3584 题目大意: 给定一个N*N*N多维数据集A,其元素是0或是1.A[i,j,k]表示集合中第 i ...

  4. bzoj1801 [Ahoi2009]中国象棋

    Description 在N行M列的棋盘上,放若干个炮可以是0个,使得没有任何一个炮可以攻击另一个炮. 请问有多少种放置方法,中国像棋中炮的行走方式大家应该很清楚吧. Input 一行包含两个整数N, ...

  5. 前端高质量知识(五)-JS详细图解全方位解读this

    在这之前,我们需要来回顾一下执行上下文. 在前面几篇文章中,我有好几个地方都提到执行上下文的生命周期,为了防止大家没有记住,再次来回顾一下,如下图. 执行上下文生命周期 在执行上下文的创建阶段,会分别 ...

  6. 使用Excel管理命令输出

    效果图:(饼状图为后添加) 实现代码:

  7. 遍历ResultSet,行列要从1开始

    为什么遍历ResultSet,行列要从1开始. 因为Resultset的第一行的第一列都是空的,要用rs.next()到第一行才能进行读取. Statement stmt=null;  ResultS ...

  8. 开发者不容错过的10款免费JavaScript游戏引擎

    摘要:使用HTML5.JavaScript可以帮助开发者开发出各种与众不同的游戏及游戏特效,比如3D动画.Canvas等.本文介绍10款被广泛使用的基于HTML5的JavaScript游戏引擎. 在G ...

  9. C语言结构体排序

    定义学生信息结构体和结构体数组,包括学号.两门百分制成绩和姓名;键盘输入 学生不多于 30 人的信息,以输入成绩为负数或大于 100 作为输入结束;按照学号和平均成绩排序,并输出学生信息 //输入学生 ...

  10. ABAP调用WebService时日期类型问题

    在使用ABAP调用WebService时, 提示CX_SY_CONVERSION_NO_DATE_TIME,意思是日期格式不能转化. 究其原因是ABAP里没有相应的数据类型与WebService描述里 ...