乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > python怎么把数据导入excel

python怎么把数据导入excel

作者:乔山办公网日期:

返回目录:excel表格制作


简单的介绍一下这两个库,先e799bee5baa6e997aee7ad94e78988e69d83362说xlrd,这个库读Excel比较方便,各种方法使用起来也挺方便:
bk = xlrd.open_workbook('your.xls')
sh = bk.sheets()[-1]
上面两句就可以打开Excel表格中的一个sheet,sheets得到的是一个list,存放所有的sheet。
sh.nrows是该sheet中的行数,知道这个后就可以使用for循环来读所有的单元格了:
sh.row(i)[3]这个就代表第i行的第4列。
再看看pyExcelerator,这个用起来有点别扭:
sheets = parse_xls('result.xls')
先打开一个表格,sheets是一个list,包含了所有表格的内容,每一项就是一个sheet,而每个sheet是二元tuple,第一个是该sheet的名字,第二个是一个dict,dict的key是一个二元组,表示单元格的坐标,如(0,0),第一行第一列。
从上面的分析中可以得出要访问Excel中第一个sheet的第一行第一列元素需要:
sheets[0][1][(0,0)]
pyExcelerator也不能得到行列数。
写文件也比较简单:
wb = Workbook()
ws = wb.add_sheet('result')
ws.write(0,0,“hello”)
wb.save('result.xls')
就不解释了:-)
写文件时需要注意直接写Unicode内容进去,而不要写编码过的内容。
本文来源于可可熊的窝 http://cocobear.info/blog , 原文地址:

import xlrd#open the .xls filexlsname="test.xls"book = xlrd.open_workbook(xlsname)#build a dictionary of the names->sheets of the booksd={}for s in book.sheets(): sd[s.name]=s#obtain Sheet "Foglio 1" from sheet names dictionarysheet=sd["Foglio 1"]#print value of the cell J141print sheet.cell(142,9)print sheet.cell(142,9)可以获得142行第9列那个单元格的
from openpyxl import Workbook
from openpyxl import load_workbook
from openpyxl.writer.excel import Excelwriter
wb=wordbook()
ws=wb.active
ws.cell(1.1).value='hello excel'
for i in range(2,5):
    for j in range(2,6):
        ws.cell(i+1,j+1).value=i*j
wb.save('text.xlsx')

看报错是缩进导致的的,python是强制缩进的,缩进是代码的一部分

python里面的缩进,相当于C语言的里面的花括号。

另外还一个问题就是结尾的分号;应该是冒号:,具体参见上面的代码



Python中一e79fa5e98193e58685e5aeb9363般使用xlrd(excel read)来读取Excel文件,使用xlwt(excel write)来生成Excel文件(可以控制Excel中单元格的格式),需要注意的是,用xlrd读取excel是不能对其进行操作的:xlrd.open_workbook()方法返回xlrd.Book类型,是只读的,不能对其进行操作。而xlwt.Workbook()返回的xlwt.Workbook类型的save(filepath)方法可以保存excel文件。

因此对于读取和生成Excel文件都非常容易处理,但是对于已经存在的Excel文件进行修改就比较麻烦了。不过,还有一个xlutils(依赖于xlrd和xlwt)提供复制excel文件内容和修改文件的功能。其实际也只是在xlrd.Book和xlwt.Workbook之间建立了一个管道而已。

xlutils.copy模块的copy()方法实现了这个功能,示例代码如下:

from xlrd import open_workbookfrom xlutils.copy import copy

rb = open_workbook('m:\\1.xls')
#通过sheet_by_index()获取的sheet没有write()方法rs = rb.sheet_by_index(0)

wb = copy(rb)
#通过get_sheet()获取的sheet有write()方法ws = wb.get_sheet(0)
ws.write(0, 0, 'changed!')

wb.save('m:\\1.xls')

练习代码(通过xlrd 读取 & 写入,再借用copy进行保存):

特别注意:由于copy保存实质上是通过xlwt进行保存的,而实际上xlwt保存的文件。

而通过xlwt只能写入xls文件,不能写入xlsx文件。

import xlrdfrom xlwt import *from xlutils.copy import copy

xlsfile = 'test.xls'book = xlrd.open_workbook(xlsfile)

sheet_name = book.sheet_names()print(sheet_name)

sheet = book.sheet_by_index(1)
nrows = sheet.nrows
ncols = sheet.ncolsprint(nrows)print(ncols)

row_data = sheet.row_values(0)
col_data = sheet.col_values(0)print(row_data)print(col_data)

cell_value = sheet.cell_value(3,0)print(cell_value)
cell_value2 = sheet.cell(3,0)print(cell_value2)

sheet.put_cell(1,2,1,"test",0)
cell_value2 = sheet.cell(1,1)print(cell_value2)#保存xlsfilewb = copy(book)
wb.save(xlsfile)

相关阅读

  • python怎么把数据导入excel

  • 乔山办公网excel表格制作
  • 简单的介绍一下这两个库,先e799bee5baa6e997aee7ad94e78988e69d83362说xlrd,这个库读Excel比较方便,各种方法使用起来也挺方便:bk = xlrd.open_workbook(your.xls)sh = bk.sheets()[-1]上面两句就可以打开Ex
关键词不能为空
极力推荐
  • excel标准偏差-Excel错误值大全(一)

  • 我们需要读懂它,然后才能和Excel进行“深层次”的交流。**一、如何更正#DIV/0!如果将数字除以零或者公式所引用的单元格为0。-excel标准偏差

ppt怎么做_excel表格制作_office365_word文档_365办公网