python操作Excel读写
python使用openpyxl库读写Excel表格的方法(增删改查操作)
python使⽤openpyxl库读写Excel表格的⽅法(增删改查操作)⽬录⼀、前⾔⼆、安装openpyxl三、openpyxl的使⽤四、结束语⼀、前⾔嗨,⼤家好,我是新发。
最近需要做个⼩⼯具,可以通过python来读写Excel,实现增删改查操作。
以前⽤的是xlrd和xlwt这两个python库,今天我要讲的是openpyxl库,我觉得openpyxl⽐xlrd和xlwt更强⼤更好⽤,话不多说,开始吧。
⼆、安装openpyxl可以直接通过命令⾏安装pip install openpyxl不过如果你下载了openpyxl,因为openpyxl还依赖了et_xmlfile库,所以你还得下载个et_xmlfile。
如果是⽤命令⾏pip install openpyxl,则会⾃动下载依赖。
安装完毕后,在python中执⾏import openpyxl如果没有报错,则说明安装成功了。
三、openpyxl的使⽤1、创建Excel⽂件演⽰代码:import openpyxlbook = openpyxl.Workbook()book.save(u'我的表格.xlsx')运⾏效果如下,⽣成了⼀个excel表格。
2、加载已存在的Excel⽂件上⾯已经创建了⼀个表格,我们可以直接加载它。
演⽰代码:import openpyxlbook = openpyxl.load_workbook(u'我的表格.xlsx')# ...book.close()3、创建sheet演⽰代码:import openpyxlbook = openpyxl.load_workbook(u'我的表格.xlsx')sheet = book.create_sheet('我的Sheet')book.save(u'我的表格.xlsx')book.close()运⾏效果如下:4、判断某个sheet是否存在演⽰代码:import openpyxlbook = openpyxl.load_workbook(u'我的表格.xlsx')if None != book[u'我的Sheet']:print('我的Sheet 存在')book.close()运⾏结果:我的Sheet 存在5、遍历所有Sheet的名称演⽰代码:import openpyxlbook = openpyxl.load_workbook(u'我的表格.xlsx')for sheet_name in book.sheetnames:print(sheet_name)book.close()运⾏结果:Sheet我的Sheet6、写⼊单元格演⽰代码:import openpyxlbook = openpyxl.load_workbook(u'我的表格.xlsx')sheet = book['Sheet']sheet.cell(1,1).value = 'name'sheet.cell(2,1).value = '姓名'sheet.cell(3,1).value = '林新发'book.save(u'我的表格.xlsx')book.close()运⾏效果7、获取单元格的各个属性值为了演⽰,我在我名字那⾥加个批注:演⽰代码:import openpyxlbook = openpyxl.load_workbook(u'我的表格.xlsx') sheet = book['Sheet']cell = sheet.cell(3,1)# 获取单元格的值print('value:%s'%cell.value)# 获取⾏号、列号print('row: %d, col: %d'%(cell.row, cell.column)) # 获取列名print('column_letter: %s'%cell.column_letter)# 单元格的坐标print('coordinate: %s'%cell.coordinate)# 单元格数据格式,n: 数字,s:字符串,d: ⽇期print('data_type: %s'%cell.data_type)# 单元格编码格式print('encoding: %s'%cell.encoding)# 单元格样式print('style: %s'%cell.style)# 单元格批注print('comment: %s'%ment)book.close()运⾏结果:value:林新发row: 3, col: 1column_letter: Acoordinate: A3data_type: sencoding: utf-8style: 常规comment: Comment: linxinfa:多才多艺 by linxinfa8、遍历单元格为了演⽰,我加多⼀写数据:⼀⾏⼀⾏遍历,演⽰代码:import openpyxlbook = openpyxl.load_workbook(u'我的表格.xlsx')sheet = book['Sheet']# ⼀⾏⼀⾏遍历for one_row in sheet.rows:for cell in one_row:print(cell, cell.value)book.close()运⾏结果:<Cell 'Sheet'.A1> name<Cell 'Sheet'.B1> profession<Cell 'Sheet'.C1> hobby<Cell 'Sheet'.A2> 姓名<Cell 'Sheet'.B2> 职业<Cell 'Sheet'.C2> 爱好<Cell 'Sheet'.A3> 林新发<Cell 'Sheet'.B3> Unity3D游戏开发⼯程师<Cell 'Sheet'.C3> 吉他、钢琴、画画、猫猫、写博客⼀列⼀列遍历,演⽰代码:import openpyxlbook = openpyxl.load_workbook(u'我的表格.xlsx')sheet = book['Sheet']# ⼀列⼀列遍历for one_col in sheet.columns:for cell in one_col:print(cell, cell.value)book.close()运⾏结果:<Cell 'Sheet'.A1> name<Cell 'Sheet'.A2> 姓名<Cell 'Sheet'.A3> 林新发<Cell 'Sheet'.B1> profession<Cell 'Sheet'.B2> 职业<Cell 'Sheet'.B3> Unity3D游戏开发⼯程师<Cell 'Sheet'.C1> hobby<Cell 'Sheet'.C2> 爱好<Cell 'Sheet'.C3> 吉他、钢琴、画画、猫猫、写博客9、最⼤⾏最⼤列为了演⽰,再加点数据。
excel 中python用法
一、介绍Excel是一款广泛使用的电子表格软件,Python是一种流行的编程语言。
结合Excel和Python的使用可以提高数据处理的效率和灵活性。
本文将介绍在Excel中使用Python的方法和技巧。
二、Python插件安装1. 打开Excel并进入“文件”菜单。
2. 选择“选项”。
3. 在选项对话框中,选择“加载项”。
4. 点击“Excel加载项”下的“转到”按钮。
5. 在“添加-Ins”对话框中,点击“浏览”。
6. 找到并选择Python插件的安装文件,点击“打开”。
7. 完成安装并重启Excel。
三、使用Python进行数据处理1. 在Excel中新建一个工作表。
2. 在需要进行数据处理的单元格输入Python函数,例如“=Py.COUNTIF(A1:A10,">5")”。
3. 按下Enter键,Excel会调用Python插件执行该函数,并在单元格中显示结果。
四、Python函数示例1. 使用Python的COUNTIF函数统计大于5的数据个数。
2. 使用Python的SUM函数计算数据的总和。
3. 使用Python的AVERAGE函数计算数据的平均值。
4. 使用Python的IF函数进行条件判断。
5. 使用Python的VLOOKUP函数进行数据查找。
五、Python脚本执行1. 在Excel中打开一个工作表。
2. 点击“开发人员”选项卡。
3. 选择“插入”下的“ActiveX 控件”。
4. 在工作表中插入一个按钮控件,右键点击该按钮并选择“属性”。
5. 在“单击”事件中绑定Python脚本文件。
6. 点击按钮执行Python脚本,实现自定义的数据处理逻辑。
六、Python图表生成1. 在Excel中选择需要生成图表的数据范围。
2. 点击“插入”选项卡中的“插入统计图表”按钮。
3. 在弹出的对话框中选择“Python图表”。
4. 根据需要选择图表类型和样式,点击确定生成图表。
python读取数据写入excel的四种操作
python读取数据写⼊excel的四种操作Python对Excel的读写主要有:xlrd、xlwt、xlutils、openpyxl、xlsxwriter⼏种xlutils结合xlrd: 操作的是以xls后缀的excel,读取⽂件保留原格式:加:formatting_info=True常⽤⽅法:1、打开xls:open_workbook(filePath)2、 x1.sheet_names() # 获取所有sheet名字3、 x1.nsheets # 获取sheet数量4、 x1.sheets() # 获取所有sheet对象5、 x1.sheet_by_name("test") # 通过sheet名查找6、 x1.sheet_by_index(3) # 通过索引查找⼀、xlutils结合xlrd可以达到修改excel⽂件⽬的import xlrdfrom xlutils.copy import copyworkbook = xlrd.open_workbook(u'有趣装逼每⽇数据及趋势.xls',formatting_info=True)workbooknew = copy(workbook)ws = workbooknew.get_sheet(0)ws.write_merge(1,1,2,2,'测试测试',style)ws.write(3, 0, 'changed!')workbooknew.save(u'有趣装逼每⽇数据及趋势copy.xls')⼆、xlwt操作的是以xls后缀的excelimport xlwtwk = xlwt.Workbook()sheet = wk.add_sheet('sheet 1')#创建⼀个sheet1sheet.write(0,1,'test text')#第0⾏第⼀列写⼊内容wk.save('test1.xls')三、xlsxwriter 操作的是xlsximport xlsxwriterworkbook = xlsxwriter.Workbook('demo1.xlsx') # 创建⼯作簿并添加⼯作表worksheet = workbook.add_worksheet()worksheet.write('A1', 'Hello world')# 写⼊数据到A1worksheet.merge_range('B4:D4', 'Merged text', merge_format) #合并单元格,⽅法2worksheet.merge_range(3, 1, 3, 3, 'Merged Range', merge_format)format1 = worksheet.add_format({"bold": True}) #写⼊样式worksheet.write(row,1,'=SUM(B1:B4)') #写⼊公式workbook.close() # 关闭excel⽂件四、openpyxl:openpyxl可以对excel⽂件进⾏读写操作,xlsxfrom openpyxl import Workbookfrom openpyxl import load_workbookfrom openpyxl.writer.excel import ExcelWriterworkbook = load_workbook(u"新歌检索失败1477881109469.xlsx") sheetnames =workbook.get_sheet_names() #获得表单名字sheet = workbook.get_sheet_by_name(sheetnames[0])sheet['A1'] = '47'workbook.save(u"新歌检索失败1477881109469_new.xlsx")wb = Workbook()ws = wb.activews['A1'] = 4wb.save("新歌检索失败.xlsx")案例from openpyxl import Workbookfrom openpyxl import load_workbookfrom openpyxl.writer.excel import ExcelWriterworkbook = load_workbook(u'F:\excel_test.xlsx')worksheet = workbook.get_sheet_by_name('Sheet1') worksheet['A1'] = '12321321312'workbook.save(u'F:\EXCEL_new.xlsx')。
python读写excel的一些技巧
python读写excel的⼀些技巧作者:谢⼩玲链接:https:///p/347197043来源:知乎著作权归作者所有。
商业转载请联系作者获得授权,⾮商业转载请注明出处。
python处理excel的库很多,例如xlrd/xlwt/openpyxl/xlsxwriter等。
每个库都有⼀定的局限性,pandas处理excel是基于这些库的,所以集⼤成者。
个⼈还是⽐较喜欢⽤pandas, 开箱即⽤。
⾸先得导⼊包import pandas as pd⼀、⽣成excel⽂件pandas⽣成excel⽂件⾮常简单,只需要⼀⾏代码就能搞定。
data = pd.DataFrame({"col1":[1, 2, 3],"col2":[4, 5, 6],"col3":[7, 8, 9]})这跟excel的⾏列展⽰极为相似。
然后就是使⽤pandas的to_excel⽅法⽣成excel⽂件并将该内容写⼊该excel⽂件:data.to_excel("excel.xlsx", index=False)当然如果需要显⽰更多,可以查看函数的⽤法。
⼆、读取excel⽂件使⽤pandas 的读取excel也⾮常简单,直接调⽤read_excel⽅法data = pd.read_excel("excel.xlsx")结果与上⾯创建的结果⼀样col1 col2 col30 1 4 71 2 5 82 3 6 9这是最简单的读取excel,同样可以参考官⽹的参数说明来进⾏参数设置,指定sheet_name,表头等其他操作。
三、⼀次性插⼊多个sheet数据将DataFrame数据写进excel⽂件中使⽤的还是⽂章开头的to_excel⽅法,但是需要添加引擎writer,如下所⽰:data = pd.DataFrame({"col1":[1, 2, 3],"col2":[4, 5, 6],"col3":[7, 8, 9]})writer = pd.ExcelWriter("excel 样例.xlsx")data.to_excel(writer, sheet_name="这是第⼀个sheet")data.to_excel(writer, sheet_name="这是第⼆个sheet")data.to_excel(writer, sheet_name="这是第三个sheet")writer.save()writer.close()使⽤pd.ExcelWriter⽣成writer,然后就可将数据写⼊该excel⽂件了,但是写完之后必须要writer.save()和writer.close(),否则数据仍然只在数据流中,并没保存到excel⽂件中,或者使⽤with as 魔术⽅法,这样就会在数据写⼊完后⾃动保存并关闭句柄:with pd.ExcelWriter("excel 样例.xlsx") as writer:data.to_excel(writer, sheet_name="这是第⼀个sheet")data.to_excel(writer, sheet_name="这是第⼆个sheet")data.to_excel(writer, sheet_name="这是第三个sheet")四、 Pandas不覆盖现有sheet在Excel中写⼊数据在平常把pandas写⼊Excel的时候,⽤到的是df.to_excel('⽂件名.xlsx', sheet_name='sheet1'语句,⽰例如下:A = np.array([[1,2,3],[4,5,6]])df = pd.DataFrame(A)df.to_excel('test_excel.xlsx',sheet_name='A')只需要三⾏语句就可以搞定但是,如果需要把两个DataFrame数据写⼊Excel⽂件中的不同sheet中,使⽤这种⽅法就有问题了:A = np.array([[1,2,3],[4,5,6]])B = np.array([[10, 20, 30], [40, 50, 60]])df1 = pd.DataFrame(A)df2 = pd.DataFrame(B)df1.to_excel('test_excel.xlsx',sheet_name='AAA')df2.to_excel('test_excel.xlsx',sheet_name='BBB')执⾏以上程序之后,打开 “test_excel.xlsx” ,可以看到表格中只有名字为“BBB”的sheet保存下来了,⽽名字为“AAA”的sheet被覆盖掉了。
python读写excel数据--pandas详解
python读写excel数据--pandas详解⽬录⼀、读写excel数据1.1 读:1.2写:⼆、举例2.1 要求2.2 实现总结⼀、读写excel数据利⽤pandas可以很⽅便的读写excel数据1.1 读:data_in = pd.read_excel('M2FENZISHI.xlsx')1.2写:⾸先要创建数据框# exampledf = pd.DataFrame({'A':[0,1,2]})writer = pd.ExcelWriter('test.xlsx') #name of excel filedf.to_excel(writer, sheet_name='Sheet1') # writewriter.save() # save⼆、举例2.1 要求这个例⼦稍微有点复杂,只看读和写的部分就可以了。
例⼦要实现的⽬标为:有⼀个excel⽂件,如下:现在要将⾥⾯的化学符号中数字和字母分开,得到如下结果2.2 实现由于化学符号⾥⾯有数字和字母,要提取数字或者字母⾸先想到的是正则表达式re模块。
在读取时由于我们已经将第⼀列命名data,因此pandas可以直接只读这⼀列的提名。
读取数字可以使⽤pile实现,如:下⾯是完整实现的代码import numpy as npimport reimport pandas as pddata_in = pd.read_excel('M2FENZISHI.xlsx')['data'] #load dataprint(data_in.shape)length = len(data_in) # lengthpattern = pile(r'\d+') # find numbernum_out = []for i in range(length):temp = pattern.findall(data_in[i]) # find numberint_num = list(map(int,temp))num_out.append(int_num)num_out = np.array(num_out)print(num_out.shape)# writer data to exceldf = pd.DataFrame({'C': num_out[:, 0], 'H': num_out[:, 1], 'O': num_out[:, 2],'N': num_out[:, 3], 'P': num_out[:, 4], 'S': num_out[:, 5]})writer = pd.ExcelWriter('test.xlsx') # name of the filedf.to_excel(writer, sheet_name='Sheet1')writer.save()结果如下:总结本篇⽂章就到这⾥了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!。
python使用xlrd模块读写Excel文件的方法
python使⽤xlrd模块读写Excel⽂件的⽅法本⽂实例讲述了python使⽤xlrd模块读写Excel⽂件的⽅法。
分享给⼤家供⼤家参考。
具体如下:⼀、安装xlrd模块⼆、使⽤介绍1、导⼊模块复制代码代码如下:import xlrd2、打开Excel⽂件读取数据复制代码代码如下:data = xlrd.open_workbook('excelFile.xls')3、使⽤技巧获取⼀个⼯作表复制代码代码如下:table = data.sheets()[0] #通过索引顺序获取table = data.sheet_by_index(0) #通过索引顺序获取table = data.sheet_by_name(u'Sheet1')#通过名称获取获取整⾏和整列的值(数组)复制代码代码如下:table.row_values(i)table.col_values(i)获取⾏数和列数复制代码代码如下:nrows = table.nrowsncols = table.ncols循环⾏列表数据复制代码代码如下:for i in range(nrows ):print table.row_values(i)单元格复制代码代码如下:cell_A1 = table.cell(0,0).valuecell_C4 = table.cell(2,3).value使⽤⾏列索引复制代码代码如下:cell_A1 = table.row(0)[0].valuecell_A2 = table.col(1)[0].value简单的写⼊复制代码代码如下:row = 0col = 0# 类型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 errorctype = 1 value = '单元格的值'xf = 0 # 扩展的格式化table.put_cell(row, col, ctype, value, xf)table.cell(0,0) #单元格的值'table.cell(0,0).value #单元格的值'三、Demo代码Demo代码其实很简单,就是读取Excel数据。
python处理excel实例
python处理excel实例Python是一种强大的编程语言,可以用于各种各样的任务,包括数据处理。
Excel是一个广泛使用的电子表格应用程序,用于处理和管理数据。
Python可以与Excel相结合,提供更高效和灵活的数据处理方式。
下面是一些Python处理Excel的实例:1.读取Excel文件: Python可以使用pandas包中的read_excel 函数读取Excel文件。
下面是一个简单的读取Excel文件的代码示例: import pandas as pd#读取Excel文件data = pd.read_excel('file.xlsx')print(data)2.写入Excel文件: Python也可以使用pandas包中的to_excel 函数将数据写入Excel文件。
下面是一个简单的写入Excel文件的代码示例:import pandas as pd#创建数据data = {'姓名': ['张三', '李四', '王五'], '年龄': [20, 25, 30]}#将数据转换为DataFrame格式df = pd.DataFrame(data)#将DataFrame写入Excel文件df.to_excel('file.xlsx', index=False)3.修改Excel文件: Python可以使用openpyxl包中的load_workbook函数打开Excel文件,并使用它的方法修改文件。
下面是一个简单的修改Excel文件的代码示例:from openpyxl import load_workbook#加载Excel文件wb = load_workbook('file.xlsx')#获取工作表ws = wb.active#修改单元格ws['A1'] = '姓名'ws['B1'] = '年龄'#保存文件wb.save('file.xlsx')这些实例只是Python处理Excel的基础知识,还有很多其他的功能和技巧可以使用。
python excel的读写
python excel的读写Python是一种功能强大的编程语言,可以用于处理各种类型的数据。
在数据处理中,Excel是一种常用的工具,因此,Python提供了许多库和模块,用于读写Excel文件。
本文将介绍如何使用Python 进行Excel的读写操作。
我们需要安装一个Python库,用于处理Excel文件。
最常用的库是`openpyxl`,它提供了许多功能,包括读取和写入Excel文件。
要安装`openpyxl`库,可以使用以下命令:```pip install openpyxl```安装完成后,我们就可以开始读取和写入Excel文件了。
我们来看看如何读取Excel文件。
假设我们有一个名为`data.xlsx`的Excel文件,其中包含了一些数据。
我们可以使用以下代码来读取该文件:```pythonimport openpyxl# 打开Excel文件workbook = openpyxl.load_workbook('data.xlsx')# 选择第一个工作表sheet = workbook.active# 遍历工作表中的每一行for row in sheet.iter_rows():# 遍历每一行中的每一列for cell in row:# 输出单元格的值print(cell.value)```上述代码中,我们首先使用`load_workbook()`函数打开Excel文件。
然后,我们选择第一个工作表,并使用`iter_rows()`方法遍历工作表中的每一行。
在内部循环中,我们遍历每一行中的每一列,并输出单元格的值。
接下来,我们来看看如何写入Excel文件。
假设我们有一些数据,我们想要将其写入到一个名为`output.xlsx`的Excel文件中。
我们可以使用以下代码来实现:```pythonimport openpyxl# 创建一个新的工作簿workbook = openpyxl.Workbook()# 创建一个新的工作表sheet = workbook.active# 将数据写入工作表data = [['姓名', '年龄', '性别'],['张三', 18, '男'],['李四', 20, '女'],['王五', 22, '男']]for row in data:sheet.append(row)# 保存工作簿workbook.save('output.xlsx')```上述代码中,我们首先创建一个新的工作簿,并使用`active`属性选择第一个工作表。
Python读写EXCEL文件常用方法大全
Python读写EXCEL⽂件常⽤⽅法⼤全前⾔python读写excel的⽅式有很多,不同的模块在读写的讲法上稍有区别,这⾥我主要介绍⼏个常⽤的⽅式。
⽤xlrd和xlwt进⾏excel读写;⽤openpyxl进⾏excel读写;⽤pandas进⾏excel读写;参考:数据准备为了⽅便演⽰,我这⾥新建了⼀个data.xls和data.xlsx⽂件,第⼀个⼯作表sheet1区域“A1:E5”的内容如下,⽤于测试读写excel的代码:xlrd和xlwtxlrd是⼀个库,⽤于从Excel⽂件中以.xls格式读取数据和格式化信息xlwt是⼀个库,⽤于将数据和格式化信息写⼊较旧的Excel⽂件(例如:.xls)。
⽰例pip install xlrdpip install xlwt我们开始来读取⽂件的内容import xlrdimport osfile_path = os.path.dirname(os.path.abspath(__file__))base_path = os.path.join(file_path, 'data.xlsx')book = xlrd.open_workbook(base_path)sheet1 = book.sheets()[0]nrows = sheet1.nrowsprint('表格总⾏数', nrows)ncols = sheet1.ncolsprint('表格总列数', ncols)row3_values = sheet1.row_values(2)print('第3⾏值', row3_values)col3_values = sheet1.col_values(2)print('第3列值', col3_values)cell_3_3 = sheet1.cell(2, 2).valueprint('第3⾏第3列的单元格的值:', cell_3_3)接下来我们来进⾏写⼊,写⼊可以进⾏的操作太多了,我这⾥只列举了常⽤的的操作。
python读取excel指定列数据并写入到新的excel方法
以上这篇python读取excel指定列数据并写入到新的excel方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也 希望大家多多支持。
sh=bk.sheet_by_name("Sheet1") except:
print "代码出错" nrows=sh.nrows #获取行数 book = Workbook(encoding='utf-8') sheet = book.add_sheet('Sheet1') #创建一个sheet for i in range(1,nrows):
这篇文章主要介绍了如何基于python代码实现高精度免费ocr工具文中通过示例代码介绍的非常详细对大家的学习或者工作具有一定的参考学习价值需要的朋友可以参考下
pythoቤተ መጻሕፍቲ ባይዱ读取 excel指定列数据并写入到新的 excel方法
如下所示:
#encoding=utf-8 import xlrd from xlwt import * #------------------读数据--------------------------------fileName="C:\\Users\\st\\Desktop\\test\\20170221131701.xlsx" bk=xlrd.open_workbook(fileName) shxrange=range(bk.nsheets) try:
python利用openpyxl库操作Excel来读取、修改、写入测试数据
python利⽤openpyxl库操作Excel来读取、修改、写⼊测试数据⼀、openpyxl模块介绍1、openpyxl是读写Excel的python库,是⼀个⽐较综合的⼯具,能够同时读取和修改Excel⽂档2、openpyxl中有三个不同层次的类,每⼀个类都有各⾃的属性和⽅法:Workbook是⼀个excel⼯作表Worksheet是⼯作表中的表单,如图Cell就是表单中的⼀个格3、操作Excel的⼀般场景:打开或者创建⼀个Excel需要创建⼀个Workbook对象获取⼀个表则需要先创建⼀个Workbook对象,然后使⽤该对象的⽅法来得到⼀个Worksheet对象4、Workbook对象⼀个Workbook对象代表⼀个Excel⽂档,因此在操作Excel之前,都应该先创建⼀个Workbook对象。
对于⼀个已经存在的Excel⽂档,可以使⽤openpyxl模块的load_workbook函数进⾏读取,该函数包涵多个参数,但只有filename参数为必传参数。
filename 是⼀个⽂件名,也可以是⼀个打开的⽂件对象。
⼆、安装openpyxl模块在cmd命令⾏下输⼊命令:pip install openpyxl三、代码实现(在Pycharm中编写代码)1、本地新建⼀个Excel表test_case.xlsx2、复制test_case.xlsx到Pycharm:3、⽤python操作excel导⼊load_workbook库from openpyxl import load_workbook第⼀步:打开excelworkbook1=load_workbook('test_case.xlsx')第⼆步:定位表单(test_data)sheet=workbook1['test_data']第三步:操作excel的test_data表单1、定位单元格(cell),根据⾏列读取测试数据data=sheet.cell(3,2).valueprint(data)特殊说明:定位C2单元格数据{'mobilephone':'135********','pwd':'123456'}data=sheet.cell(2,3).value查看C2单元格数据类型为,但实际为dict类型print(type(data)) 输出str将str类型转化为他原来的类型dict:eval(data)print(type(eval(data))) 输出dict综上可得:excel 存储的数据,数字还是数字:int—>int、 float—>float 、其他类型—>str使⽤eval(数据) 将str类型转换为他原来的类型2、定位单元格(cell),根据⾏列值,更改原有的数据、写⼊新的测试数据,sheet.cell(3,2).value='妮妮' #更改已经存在的测试数据sheet.cell(6,3).value='⼩⼩' #在空的单元格写⼊新的测试值workbook1.save('test_case.xlsx') #保存修改3、统计⾏和列(参考上图)max_row=sheet.max_rowmax_cow = sheet.max_columnprint('最⼤的⾏值:',max_row) #输出6print('最⼤的列值:',max_cow) #输出7从excel中读取测试⽤例:1#读取每⼀条测试⽤⽤例分别保存到字典中,然后再将所有⽤例保存到列表中,如[{⽤例1},{⽤例2},{⽤例3}] 2def read_case():3 workbook1=load_workbook('test_case.xlsx')4 sheet=workbook1['test_data']5 max_row=sheet.max_row6 test_case=[]7for row in range(2,max_row+1):8 sub_data={}9 sub_data['case_id']=sheet.cell(row,1).value10 sub_data['title']=sheet.cell(row,2).value11 sub_data['data']=sheet.cell(row,3).value12 sub_data['method']=sheet.cell(row,4).value13 sub_data['expected']=sheet.cell(row,5).value14 test_case.append(sub_data)15print("读取到的所有测试⽤例:",test_case)1617 read_case()read_case。
使用Python操作Office——EXCEL
使⽤Python操作Office——EXCEL ⾸先介绍下office win32 com接⼝,这个是MS为⾃动化提供的操作接⼝,⽐如我们打开⼀个EXCEL⽂档,就可以在⾥⾯编辑VB脚本,实现我们⾃⼰的效果。
对于这种⼀本万利的买卖,Python怎么能放过,它内置了对于win32 com接⼝的⽀持,我们可以⽅便的控制。
要想熟悉使⽤office win32 com接⼝,没有什么⽐MS提供的API⽂档更加权威了。
下⾯我们以操作EXCEL⽂档为例: ⼀、对Excel⽂件进⾏写⼊操作:#!/usr/bin/python3# -*- coding:utf-8 -*-__author__ = 'mayi'# 导⼊模块import win32com.client# 打开ExcelApplication = win32com.client.Dispatch("Excel.Application")# 或者使⽤下⾯的⽅法,使⽤启动独⽴的进程:# Application = win32com.client.DispatchEx("Excel.Application")# 后台运⾏,显⽰程序界⾯,不警告Application.Visible = 1 # 调试阶段建议打开Application.DisplayAlerts = 0# 新建⼀个⽂档Workbook = Application.Workbooks.Add()# 打开⼀个⽂档Workbook = Application.Workbooks.Open("F:\\test.xlsx")# 根据⼯作表名Base = Workbook.Worksheets("Sheet1")# 根据⼯作表顺序# Base = Workbook.Worksheets(1)# 接受当前⼯作表# Base = Workbook.ActiveSheet# 添加内容: 0.0, 0.5, 1.0Base.Cells(1, 1).Value = 'Values'Base.Cells(1, 2).Value = 0.0Base.Cells(1, 3).Value = 0.5Base.Cells(1, 4).Value = 1.0Workbook.SaveAs("F:\\test.xlsx")# 关闭⽂档Workbook.Close()# 退出ExcelApplication.Quit() ⼆、对Excel⽂件进⾏读取操作:#!/usr/bin/python3# -*- coding:utf-8 -*-__author__ = 'mayi'# 导⼊模块import win32com.client# 打开ExcelApplication = win32com.client.Dispatch("Excel.Application")# 或者使⽤下⾯的⽅法,使⽤启动独⽴的进程:# Application = win32com.client.DispatchEx("Excel.Application")# 后台运⾏,显⽰程序界⾯,不警告Application.Visible = 1 # 调试阶段建设打开Application.DisplayAlerts = 0# 打开⼀个⽂档Workbook = Application.Workbooks.Open("F:\\test.xlsx")Base = Workbook.Worksheets(1)# 接受当前⼯作表Base = Workbook.ActiveSheet#列数ncols = 0while True:cell_value = Base.Cells(1, ncols + 1).Valueif cell_value:ncols += 1else:break# ⾏数nrows = 0while True:cell_value = Base.Cells(nrows + 2, 1).Value # 第⼀⾏表头 if cell_value:for col in range(ncols):cell_key = Base.Cells(1, col + 1).Valuecell_value = Base.Cells(nrows + 2, col + 1).Valueprint(cell_key, "=>", cell_value, end = "\t")print("")nrows += 1else:break# 关闭⽂档Workbook.Close()# 退出ExcelApplication.Quit() 假设test.xlsx⽂件中的内容如下: 则,运⾏以上程序输出:序号 => 1.0 姓名 => 张三姓别 => 男地址 => 北京序号 => 2.0 姓名 => 李四姓别 => ⼥地址 => 上海序号 => 3.0 姓名 => 王五姓别 => 男地址 => 南京。
python读取 excel表格的方法
python读取 excel表格的方法Python提供了多种方法来读取Excel表格数据,以下是几种常用的方法。
1.使用pandas库读取Excel表格:pandas是一个强大的数据处理库,可以方便地读取和操作Excel 表格。
要使用pandas读取Excel表格,首先需要安装pandas库,可以使用以下命令安装:```pip install pandas```接下来,可以使用以下代码读取Excel表格数据:```pythonimport pandas as pd#读取Excel表格的数据data = pd.read_excel('filename.xlsx')#打印数据print(data)```这样可以将Excel表格中的数据读取到一个DataFrame对象中,可以方便地进行进一步的操作和分析。
2.使用openpyxl库读取Excel表格:openpyxl是一个处理Excel表格的库,可以用于读取、写入和操作Excel表格数据。
要使用openpyxl库读取Excel表格,首先需要安装openpyxl库,可以使用以下命令安装:```pip install openpyxl```接下来,可以使用以下代码读取Excel表格数据:```pythonfrom openpyxl import load_workbook#打开Excel文件workbook = load_workbook(filename='filename.xlsx')#选择第一个Sheetsheet = workbook.worksheets[0]#遍历每一行,读取数据for row in sheet.iter_rows(values_only=True):print(row)```这样可以逐行读取Excel表格中的数据,每一行都可以看作是一个包含单元格值的元组。
3.使用xlrd库读取Excel表格:xlrd是一个用于读取Excel表格的库,可以用于读取Excel文件中的数据。
详解python的xlwings库读写excel操作总结
详解python的xlwings库读写excel操作总结⼀、总结(点击显⽰或隐藏总结内容)⼀句话总结:xlwings 是 Python 中操作Excel的⼀个第三⽅库,⽀持.xls读写,.xlsx读写,操作⾮常简单,功能也很强⼤1、xlwings 中的逻辑:应⽤->⼯作簿->⼯作表->范围对应的代码?应⽤:⼀个应⽤(⼀个xlwings程序):app = xw.App(visible=True, add_book=False)⼯作簿(book):excel⽂件(excel程序):wb = app.books.add()⼯作表(sheet):sheet:sht = wb.sheets['sheet1']范围:⾏列:sht.range('a6').expand('table').value = [['a','b'],['d','e']]import xlwings as xw# 写到Excel中去# add_book也就是是否增加excel 的book# visible=True 表⽰操作过程是否可显⽰app = xw.App(visible=True, add_book=False)# ⼯作簿wb = app.books.add()# 页sheet1sht = wb.sheets['sheet1']# 单个值插⼊# sht.range('A1').value = '产品名称'# sht.range('B1').value = '编号'# sht.range('C1').value = '价格'# sht.range('A2').value = '不告诉你'# sht.range('B2').value = 'n110110'# sht.range('C2').value = '688.26'# sht.range('A3').value = '不告诉你1'# sht.range('B3').value = 'n1101101'# sht.range('C3').value = '688.261'# 插⼊⼀⾏# sht.range('a1').value = [1,2,3,4]# 等同于# sht.range('a1:d4').value = [1,2,3,4]# 插⼊⼀列# sht.range('a2').options(transpose=True).value = [5,6,7,8]# 同时插⼊⾏列# sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']]# 在当前⽬录下⽣成⽂件wb.save('demo1.xlsx')wb.close()app.quit()# import os# path1=os.path.abspath('.') # 表⽰当前所处的⽂件夹的绝对路径# print(path1)# path2=os.path.abspath('..') # 表⽰当前所处的⽂件夹上⼀级⽂件夹的绝对路径# print(path2)# 关于路径问题,切换到指定⽬录即可2、xlwings库向excel 插⼊值的⽅式?a、插⼊单个值:sht.range('A1').value = '产品名称'b、插⼊⼀⾏:sht.range('a1').value = [1,2,3,4] 或者 sht.range('a1:d4').value = [1,2,3,4]c、插⼊⼀列:sht.range('a2').options(transpose=True).value = [5,6,7,8]d、同时插⼊⾏列:sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']]3、xlwings库读写excel基本操作步骤?就是按照xlwings库逻辑(应⽤->⼯作簿->⼯作表->范围)操作即可,打开的记得关就好了,该读就读,该写就写app = xw.App(visible=True, add_book=False)# ⼯作簿wb = app.books.add()# 页sheet1sht = wb.sheets['sheet1']# 同时插⼊⾏列sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']]# 在当前⽬录下⽣成⽂件wb.save('demo1.xlsx')wb.close()app.quit()4、xlwings库读取excel中的数据的⽅式?print(sht.range('a1:c7').value),这样读⾏,读列,还是同时读⾏读列都可以# 读取⾏列:读取A1:C7(直接填⼊单元格范围就⾏了),得到⼀个⼆维列表print(sht.range('a1:c7').value)# 读取⾏:得⼀维列表# print(sht.range('a1:c1').value)# 读取列:得⼀维列表# print(sht.range('a1:a7').value)import xlwings as xwapp = xw.App(visible=True, add_book=False)# 显⽰警报()app.display_alerts = True# 屏幕更新(应⽤中)app.screen_updating = True# 打开⽂件wb = app.books.open('demo1.xlsx')sht = wb.sheets['sheet1']# 遍历读取单元格# column_name = ['A','B',"C"]# data_list = [] #将数据存到list中去# for i in range(3): # 遍历⾏# row_list = []# for j in range(3): #遍历列# str1 = column_name[j]+str(i+1)# a = sht.range(str1).value# row_list.append(a)# print(a)# pass# data_list.append(row_list)# pass# print(data_list)# 读取⾏列:读取A1:C7(直接填⼊单元格范围就⾏了),得到⼀个⼆维列表print(sht.range('a1:c7').value)# 读取⾏:得⼀维列表# print(sht.range('a1:c1').value)# 读取列:得⼀维列表# print(sht.range('a1:a7').value)wb.save()wb.close()app.quit()⼆、python的xlwings库读写excel操作总结1、写"""xlwings介绍xlwings 是 Python 中操作Excel 的⼀个第三⽅库,⽀持.xls读写,.xlsx读写操作⾮常简单,功能也很强⼤1、安装库pip3 install xlwings2、引⼊库import xlwings as xw3、应⽤->⼯作簿->⼯作表->范围应⽤:⼀个应⽤(⼀个xlwings程序):app = xw.App(visible=True, add_book=False)⼯作簿(book):excel⽂件(excel程序):wb = app.books.add()⼯作表(sheet):sheet:sht = wb.sheets['sheet1']范围:⾏列:sht.range('a6').expand('table').value = [['a','b'],['d','e']]xlwings.App(visible=True,add_book=False)其中参数visible(表⽰处理过程是否可视,也就是处理Excel的过程会不会显⽰出来),add_book(是否打开新的Excel程序,也就是是不是打开⼀个新的excel窗⼝)"""import xlwings as xw# 写到Excel中去# add_book也就是是否增加excel 的book# visible=True 表⽰操作过程是否可显⽰app = xw.App(visible=True, add_book=False)# ⼯作簿wb = app.books.add()# 页sheet1sht = wb.sheets['sheet1']# 单个值插⼊# sht.range('A1').value = '产品名称'# sht.range('B1').value = '编号'# sht.range('C1').value = '价格'# sht.range('A2').value = '不告诉你'# sht.range('B2').value = 'n110110'# sht.range('C2').value = '688.26'# sht.range('A3').value = '不告诉你1'# sht.range('B3').value = 'n1101101'# sht.range('C3').value = '688.261'# 插⼊⼀⾏# sht.range('a1').value = [1,2,3,4]# 等同于# sht.range('a1:d4').value = [1,2,3,4]# 插⼊⼀列# sht.range('a2').options(transpose=True).value = [5,6,7,8]# 同时插⼊⾏列# sht.range('a6').expand('table').value = [['a','b','c'],['d','e','f'],['g','h','i']]# 在当前⽬录下⽣成⽂件wb.save('demo1.xlsx')wb.close()app.quit()# import os# path1=os.path.abspath('.') # 表⽰当前所处的⽂件夹的绝对路径# print(path1)# path2=os.path.abspath('..') # 表⽰当前所处的⽂件夹上⼀级⽂件夹的绝对路径# print(path2)# 关于路径问题,切换到指定⽬录即可2、读import xlwings as xwapp = xw.App(visible=True, add_book=False)# 显⽰警报()app.display_alerts = True# 屏幕更新(应⽤中)app.screen_updating = True# 打开⽂件wb = app.books.open('demo1.xlsx')sht = wb.sheets['sheet1']# 遍历读取单元格# column_name = ['A','B',"C"]# data_list = [] #将数据存到list中去# for i in range(3): # 遍历⾏# row_list = []# for j in range(3): #遍历列# str1 = column_name[j]+str(i+1)# a = sht.range(str1).value# row_list.append(a)# print(a)# pass# data_list.append(row_list)# pass# print(data_list)# 读取⾏列:读取A1:C7(直接填⼊单元格范围就⾏了),得到⼀个⼆维列表print(sht.range('a1:c7').value)# 读取⾏:得⼀维列表# print(sht.range('a1:c1').value)# 读取列:得⼀维列表# print(sht.range('a1:a7').value)wb.save()wb.close()app.quit()到此这篇关于详解python的xlwings库读写excel操作总结的⽂章就介绍到这了,更多相关python xlwings库读写excel内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
Python文件操作(读写Excel)
Python⽂件操作(读写Excel)⽂件读写Excel1.使⽤xlrd读取excel#使⽤xlrd读取excel#1.导⼊模块import xlrd# 2. 使⽤xlrd的函数打开本地⽂件workbook=xlrd.open_workbook('案例.xlsx')#3. 获取⼯作表# sheets=workbook.sheets()#获取所有⼯作表组成list,具体某个表⽤下标# sheetOne=sheets[0]# sheetOne=workbook.sheet_by_index(0)#使⽤函数通过int 获取第⼏张# 返回⼯作表名称组成的列表sheetNames=workbook.sheet_names()sheetOne=workbook.sheet_by_name(sheetNames[0])# ⾏数row=sheetOne.nrows# 列数col=sheetOne.ncols# ⽤for遍历⾏数,输出每⾏for i in range(row):each_row=sheetOne.row_values(i)print(each_row)# ⽤for 遍历列数,输出每列for i in range(col):each_col=sheetOne.col_values(i)print(each_col)# 精确到单元格# 尝试输出第⼆⾏,第⼆列的值,读取列表的⽅式print(sheetOne.row_values(1)[1])# sheetOne.cell(row,col) 获取单元格# 单元格.value 是值# sheetOne.cell_value(row,col)直接返回值print(sheetOne.cell(8,1).value)print(sheetOne.cell_value(8,1))# ⽤循环输出所有单元格的内容# ⽅法⼀# for i in range(row):# eachrow=sheetOne.row_values(i)# for each in eachrow:# print(each)# ⽅法⼆for i in range(row):for j in range(col):print(sheetOne.cell_value(i,j))2.使⽤xlwt模块写⼊excel # 导⼊xlwt模块import xlwt# 创建⼯作簿wb=xlwt.Workbook()#创建⼯作表sheet=wb.add_sheet('newSheet')for i in range(1,10):for j in range(1,i+1):sheet.write(i,j-1,str(j)+'x'+str(i)+'='+str(i*j)) # 保存⽂件wb.save('newExcel.xls')3.使⽤xlutils模块修改excel# 使⽤xlutils模块修改 excelimport xlrdfrom xlutils.copy import copy# xlrd 读取⼯作簿wb=xlrd.open_workbook('案例.xlsx')# 复制⼀份⼯作簿,⽤来写⼊copyed=copy(wb)# 获取复制来的⼯作簿的⼯作表sheetOne=copyed.get_sheet(0)# 使⽤writr()写⼊sheetOne.write(3,0,'我是更改的内容')# 保存,如果保存的⽂件名存在则覆盖,不存在则保存个新的copyed.save('new新存的.xls')4.使⽤openpyxl操作excel#使⽤openpyxl操作excelfrom openpyxl import Workbook# 1. 实例化对象,创建⼯作簿wb=Workbook()# 2. 使⽤第⼀张⼯作表sheet=wb.active# 3. 给表取个名字sheet.title='表的名称1'# 4. 给表增加内容:sheet.append(list类型)sheet.append([1,2,3])# 5.保存⼯作簿wb.save('new1.xlsx')5.⼯作簿属性与⽅法from openpyxl import Workbook # 创建新的⼯作簿from openpyxl import load_workbook # 打开已有⼯作簿# wb = load_workbook('new1.xls') 打开不了 xls 的⽂件wb = load_workbook('F:\Python资料\data.xlsx')'''workbook 的属性:workbook.sheetnames : 所有⼯作表的名字组成的列表workbook.worksheets : 所有⼯作表组成的列表workbook.active : 默认的⼯作表(第⼀张)workbook 的⽅法:workbook.get_sheet_names() : 同 workbook.sheetnamesworkbook.get_active_sheet() : 同 workbook.activeworkbook.get_sheet_by_name(name): 根据name获取 sheetworkbook.create_sheet(sheetname,index) : 创建sheet,以及名称与index位置workbook.save(filename) : 保存'''sheet = wb.create_sheet('新的',2)sheet.append([1,2,3])wb.save('data.xlsx')6.⼯作表属性与⽅法(上)from openpyxl import load_workbookwb = load_workbook('data.xlsx')# 获取表格 wb[ 'sheetname' ]sheet = wb['新的']'''⼯作表的属性:sheet.rows :⾏数对象sheet.columns :列数对象sheet.max_row :有效的最⼤⾏数sheet.min_row :有效的最⼩⾏数sheet.max_column:有效的最⼤列数sheet.min_column:有效的最⼩列数sheet.values :所有单元格的值组成的2维列表。
python3操作读写excel并保存本地
python3操作读写excel并保存本地⽬录前⾔安装模块例1:创建⼀个excel ⽂件,并写⼊不同类的内容例2:写⼊时间例3:创建sheet例4 :操作单元格例5 :操作⾏/列/指定区域例6:显⽰⼩数例7:获取所有的⾏对象例8:获取所有的列对象例9:单元格类型例10:公式例11:合并单元格/取消合并单元格例12:插⼊图⽚前⾔python中操作excel的模块有很多,⽐如xlrd,xlwt,openpyxl,xlutils等。
前两个是⼀套,⼀个读⼀个写。
注意:xlwt模块,只能⽀持到excel2003,也就是扩展名为.xls的excel;xlrd模块可以⽀持读取07版本,也就是.xlsx扩展名的excel。
每个模块都有⼀些优缺点,本⽂以openpyxl模块为例来进⾏介绍。
安装模块安装openpyxl和pillow(在⽂件中插⼊图⽚时使⽤)py -3 -m pip install openpyxl==2.5.4(指定版本安装)py -3 -m pip install pillow# -*- coding: utf-8 -*-import localefrom openpyxl import Workbookwb = Workbook() #创建⽂件对象#获取第⼀个sheetws = wb.active# 将数据写⼊到指定的单元格ws['A1'] = 42 #写⼊数字ws['B1'] = "⾃动化"+"automation test" #写⼊中⽂ws.append([1, 2, 3]) #写⼊多个单元格#保存为a.xlsxwb.save("a.xlsx")运⾏结果⼆、写⼊时间from openpyxl import Workbookimport datetimeimport timeimport localewb = Workbook() #创建⽂件对象ws = wb.active #获取第⼀个sheetws['A2'] = datetime.datetime.now() #写⼊⼀个当前时间#写⼊⼀个⾃定义的时间格式locale.setlocale(locale.LC_CTYPE, 'chinese')ws['A3'] =time.strftime("%Y年%m⽉%d⽇ %H时%M分%S秒",time.localtime())# Save the filewb.save("sample.xlsx")运⾏结果三、创建sheet前⾯的例⼦都是操作默认创建的sheet,也可以⽤create_sheet()⽅法⽣成指定名称的sheet进⾏操作。
python excel对合并的单元格的读写
标题:Python操作Excel表格中合并单元格的读写方法在实际工作中,我们经常会用到Excel表格对数据进行处理和分析。
而在处理Excel表格时,经常会遇到合并单元格这样的情况,这就需要我们使用Python来进行操作。
本文将介绍如何使用Python对Excel表格中合并的单元格进行读写操作。
一、为什么要对合并单元格进行读写操作?1. 表格的美观性和易读性合并单元格是为了使表格更加美观,且更容易阅读。
但在进行数据处理和分析时,处理合并单元格的数据就显得尤为重要了。
2. 数据的准确性在处理包含合并单元格的Excel表格时,如果我们不对合并单元格进行处理,很可能会导致数据统计的错误,这就需要我们使用Python 进行操作了。
二、使用Python操作Excel表格中合并单元格的读写方法1. 打开Excel表格我们需要使用Python中的openpyxl库来打开Excel表格。
代码如下所示:import openpyxlwb = openpyxl.load_workbook('example.xlsx')sheet = wb['Sheet1']2. 读取合并单元格的数据在处理合并单元格的数据时,我们需要根据合并单元格的范围来获取数据。
在openpyxl库中,可以使用merged_cells属性来获取合并单元格的范围,然后再逐一获取每个合并单元格的数据。
代码如下所示:merged_ranges = sheet.merged_cells.rangesfor merged_range in merged_ranges:for row in merged_range:for cell in row:print(cell.value)3. 写入数据到合并单元格在处理完数据后,如果需要将处理后的数据写入到合并单元格中,同样也需要根据合并单元格的范围来写入数据。
代码如下所示:merged_ranges = sheet.merged_cells.rangesfor merged_range in merged_ranges:for row in merged_range:for cell in row:cell.value = 'new data'4. 保存Excel表格我们需要使用Python来保存Excel表格。
python操作Excel的5种方式
python操作Excel的5种⽅式Python对Excel的读写主要有xlrd、xlwt、xlutils、openpyxl、xlsxwriter⼏种。
1.xlrd主要是⽤来读取excel⽂件import xlrddata = xlrd.open_workbook('abcd.xls') # 打开xls⽂件table = data.sheets()[0] # 打开第⼀张表nrows = table.nrows # 获取表的⾏数for i in range(nrows): # 循环逐⾏打印if i == 0:# 跳过第⼀⾏continueprint (table.row_values(i)[:13]) # 取前⼗三列⽰例:#coding=utf-8########################################################filename:test_xlrd.py#author:defias#date:xxxx-xx-xx#function:读excel⽂件中的数据#######################################################import xlrd#打开⼀个workbookworkbook = xlrd.open_workbook('E:\\Code\\Python\\testdata.xls')#抓取所有sheet页的名称worksheets = workbook.sheet_names()print('worksheets is %s' %worksheets)#定位到sheet1worksheet1 = workbook.sheet_by_name(u'Sheet1')"""#通过索引顺序获取worksheet1 = workbook.sheets()[0]#或worksheet1 = workbook.sheet_by_index(0)""""""#遍历所有sheet对象for worksheet_name in worksheets:worksheet = workbook.sheet_by_name(worksheet_name)"""#遍历sheet1中所有⾏rownum_rows = worksheet1.nrowsfor curr_row in range(num_rows):row = worksheet1.row_values(curr_row)print('row%s is %s' %(curr_row,row))#遍历sheet1中所有列colnum_cols = worksheet1.ncolsfor curr_col in range(num_cols):col = worksheet1.col_values(curr_col)print('col%s is %s' %(curr_col,col))#遍历sheet1中所有单元格cellfor rown in range(num_rows):for coln in range(num_cols):cell = worksheet1.cell_value(rown,coln)print cell"""#其他写法:cell = worksheet1.cell(rown,coln).valueprint cell#或cell = worksheet1.row(rown)[coln].valueprint cell#或cell = worksheet1.col(coln)[rown].valueprint cell#获取单元格中值的类型,类型 0 empty,1 string, 2 number, 3 date, 4 boolean, 5 errorcell_type = worksheet1.cell_type(rown,coln)print cell_type"""2.xlwt主要是⽤来写excel⽂件#Python学习交流群:778463939import xlwtwbk = xlwt.Workbook()sheet = wbk.add_sheet('sheet 1')sheet.write(0,1,'test text')#第0⾏第⼀列写⼊内容wbk.save('test.xls')3.xlutils结合xlrd可以达到修改excel⽂件⽬的import xlrdfrom xlutils.copy import copyworkbook = xlrd.open_workbook(u'有趣装逼每⽇数据及趋势.xls')workbooknew = copy(workbook)ws = workbooknew.get_sheet(0)ws.write(3, 0, 'changed!')workbooknew.save(u'有趣装逼每⽇数据及趋势copy.xls')4.openpyxl可以对excel⽂件进⾏读写操作from openpyxl import Workbookfrom openpyxl import load_workbookfrom openpyxl.writer.excel import ExcelWriterworkbook_ = load_workbook(u"新歌检索失败1477881109469.xlsx") sheetnames =workbook_.get_sheet_names() #获得表单名字print sheetnamessheet = workbook_.get_sheet_by_name(sheetnames[0])print sheet.cell(row=3,column=3).valuesheet['A1'] = '47'workbook_.save(u"新歌检索失败1477881109469_new.xlsx")wb = Workbook()ws = wb.activews['A1'] = 4wb.save("新歌检索失败.xlsx")⽰例:import openpyxl# 新建⽂件workbook = openpyxl.Workbook()# 写⼊⽂件sheet = workbook.activesheet['A1']='A1'# 保存⽂件workbook.save('test.xlsx')5.xlsxwriter可以写excel⽂件并加上图表import xlsxwriterdef get_chart(series):chart = workbook.add_chart({'type': 'line'})for ses in series:name = ses["name"]values = ses["values"]chart.add_series({'name': name,'categories': 'A2:A10','values':values})chart.set_size({'width': 700, 'height': 350})return chartif __name__ == '__main__':workbook = xlsxwriter.Workbook(u'H5应⽤中⼼关键数据及趋势.xlsx') worksheet = workbook.add_worksheet(u"每⽇PV,UV")headings = ['⽇期', '平均值']worksheet.write_row('A1', headings)index=0for row in range(1,10):for com in [0,1]:worksheet.write(row,com,index)index+=1series = [{"name":"平均值","values":"B2:B10"}]chart = get_chart(series)chart.set_title ({'name': '每⽇页⾯分享数据'})worksheet.insert_chart('H7', chart)workbook.close()openpyxl⽰例:import xlsxwriter as xw#新建excelworkbook = xw.Workbook('myexcel.xlsx')#新建⼯作薄worksheet = workbook.add_worksheet()#写⼊数据worksheet.wirte('A1',1)#关闭保存workbook.close()合并表格实例:#coding:utf-8import xlsxwriterimport xlrd#新建excelworkbook = xlsxwriter.Workbook('⼴东.xlsx')#新建⼯作薄worksheet = workbook.add_worksheet()count = 1worksheet.write("A%s"%count,"公司名称")worksheet.write("B%s"%count,"法⼈")worksheet.write("C%s"%count,"电话")worksheet.write("D%s"%count,"注册资⾦")worksheet.write("E%s"%count,"注册时间")count+=1for i in range(1,153):data = xlrd.open_workbook('ah (%s).xls'%i) # 打开xls⽂件 table = data.sheets()[0] # 打开第⼀张表nrows = table.nrows # 获取表的⾏数for i in range(nrows): # 循环逐⾏打印if i == 0:# 跳过第⼀⾏continue# print (table.row_values(i)[:5]) # 取前⼗三列print(count,table.row_values(i)[:5][0])#写⼊数据#设定第⼀列(A)宽度为20像素 A:E表⽰从A到Eworksheet.set_column('A:A',30)worksheet.set_column('B:E',20)worksheet.write("A%s"%count,table.row_values(i)[:5][0]) worksheet.write("B%s"%count,table.row_values(i)[:5][1]) worksheet.write("C%s"%count,table.row_values(i)[:5][2]) worksheet.write("D%s"%count,table.row_values(i)[:5][3]) worksheet.write("E%s"%count,table.row_values(i)[:5][4]) count+=1#关闭保存workbook.close()。
python读写xlsx
python读写xlsx1使⽤openpyxl库读写excel xlrd和xlwt处理的是xls⽂件,单个sheet最⼤⾏数是65535,如果有更⼤需要的,建议使⽤openpyxl函数,最⼤⾏数达到1048576。
如果数据量超过65535就会遇到:ValueError: row index was 65536, not allowed by .xls format 1、打开excel 2、获取打开的excel的sheet内容 3、获取sheet的最⼤⾏数和列数 4、获取某个单元格的值 print(ws.cell(1,1).value) 5、打开将写的表并添加sheet 6、保存⼀个⽰例如下2、⽤xlrd和xlwt读写excel ⾸先下载安装xlrd和xlwt这两个库。
1、打开excel readbook = xlrd.open_workbook(r'\test\canying.xlsx') 2、获取读⼊的⽂件的sheet sheet = readbook.sheet_by_index(1)#索引的⽅式,从0开始 sheet = readbook.sheet_by_name('sheet2')#名字的⽅式 3、获取sheet的最⼤⾏数和列数 nrows = sheet.nrows#⾏ ncols = sheet.ncols#列 4、获取某个单元格的值 lng = table.cell(i,3).value#获取i⾏3列的表格值 lat = table.cell(i,4).value#获取i⾏4列的表格值 5、打开将写的表并添加sheet writebook = xlwt.Workbook()#打开⼀个excel sheet = writebook.add_sheet('test')#在打开的excel中添加⼀个sheet 6、将数据写⼊excel sheet.write(i,0,result[0])#写⼊excel,i⾏0列 sheet.write(i,1,result[1]) 7、保存 writebook.save('answer.xls')#⼀定要记得保存过程和⽅法⼀类似。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
绿色通道:
好文要顶
关注我
收藏该文
与我联系
lhj588 关注 - 7 粉丝 - 20 +加关注
1
0
(请您对文章做出评价) « 上一篇:【转帖】使用python爬虫抓站的一些技巧总结:进阶篇 » 下一篇:介绍 Spring 3.1 M1 中的缓存功能
/lhj588/archive/2012/01/06/2314181.html[2013/8/26 11:00:14]
python操作Excel读写--使用xlrd - lhj588 - 博客园
lhj588
博客园
首页
博问
闪存
新随笔
联系
订阅
管理
随笔-124 评论-34 文章-4 trackbacks-0
python操作Excel读写--使用xlrd
一、安装xlrd模块
美丽女人点击出现 昵称:lhj588 园龄:3年4个月 粉丝:20 关注:7 +加关注 < 日 25 1 8 15 22 29 一 26 2 9 16 23 30 2012年1月 二 27 3 10 17 24 31 三 28 4 11 18 25 1 四 29 5 12 19 26 2 五 30 6 13 20 27 3 > 六 31 7 14 21 28 4
table = data.sheets()[0]
#通过索引顺序获取
table = data.sheet_by_index(0) #通过索引顺序获取 搜索
找找看
table = data.sheet_by_name(u'Sheet1')#通过名称获取 获取整行和整列的值(数组) table.row_values(i) table.col_values(i) 获取行数和列数 nrows = table.nrows ncols = table.ncols 循环行列表数据 for i in range(nrows ):
文章分类(1)
Django Web(1)
积分与排名
积分 - 56183 排名 - 2325
最新评论
1. Re:python 解析XML xml.dom 写的很好,我在测试的时候老是 报:xml.parsers.expat.ExpatError: not well-formed (invalid token):后来 用xml editor进行打开,结果打不 开,最终才发现我的xml格式是错 的。/questi ons/8115875/python-gives-notwell-formed-xml-error-... --hollyspirit 2. Re:python操作Excel读写--使 用xlrd 楼主你的cell_C4 = table.cell(2,3).value这一行写错 了,cell方法的第二个参数对应的是 列数,第一个参数才是行数,所 以C4应该这样表达 C4=table.cell(3,2).value --刺头士 3. Re:python操作Excel读写--使 用xlrd 好东西,正用的着 --涵曦 4. Re:怎么制作 炫酷的安装程序 看上去还不错啊? --通用信息化建设平台 5. Re:python+PyQT+Eric安装配置 感谢.很实用.
评论:
评论排行榜
1. python+PyQT+Eric安装配置(13) 2. 图解 PHP运行环境配置和开发环 境的配置(4) 3. python操作Excel读写--使 用xlrd(3) 4. Jquery调用 新浪微博API 用户资 料(2) 5. Python:通过执行100万次打印来 比较C和python的性能,以及 用C和python结合来解决性能问题的 方法 .(2)
/lhj588/archive/2012/01/06/2314181.html[2013/8/26 11:00:14]
python操作Excel读写--使用xlrd - lhj588 - 博客园 2012年10月 (9) 2012年8月 (5) 2012年7月 (5) 2012年6月 (3) 2012年5月 (22) 2012年4月 (6) 2012年3月 (14) 2012年2月 (6) 2012年1月 (2) 2011年12月 (2) 2011年11月 (10) 2011年10月 (2) 2011年6月 (5) 19 20 row = table.row_values(rownum) 21 if row: 22 app = {} 23 for i in range(len(colnames)): 24 app[colnames[i]] = row[i] 25 list.append(app) 26 return list 27 28 #根据名称获取Excel表格中的数据 参数:file:Excel文件路径 colnameindex:表头列名所在行的所以 ,by_name:Sheet1名称 29 def excel_table_byname(file= 'file.xls',colnameindex=0,by_name=u'Sheet1'): 30 data = open_excel(file) 31 table = data.sheet_by_name(by_name) 32 nrows = table.nrows #行数 33 colnames = table.row_values(colnameindex) #某一行数据 34 list =[] 35 for rownum in range(1,nrows): 36 row = table.row_values(rownum) 37 if row: 38 app = {} 39 for i in range(len(colnames)): 40 app[colnames[i]] = row[i] 41 list.append(app) 42 return list 43 44 def main(): 45 tables = excel_table_byindex() 46 for row in tables: 47 print row 48 49 tables = excel_table_byname() 50 for row in tables: 51 print row 52 53 if __name__=="__main__": 54 main()
到python官网下载/pypi/xlrd模块安装,前提是已 经安装了python 环境。 二、使用介绍 1、导入模块 import xlrd 2、打开Excel文件读取数据 data = xlrd.open_workbook('excelFile.xls') 3、使用技巧 获取一个工作表
python操作Excel读写--使用xlrd - lhj588 - 博客园 --ChazZ
posted on 2012-01-06 11:35 lhj588 阅读(22549) 评论(3) 编辑 收藏 阅读排行榜
1. python操作Excel读写--使 用xlrd(22543) 2. linux如何查看系统信息(18608) 3. python+PyQT+Eric安装配 置(10661) 4. python 解析XML xml.dom(9034) 5. CentOS 查看IP,端口 修改IP,打开 端口生效(8935) #1楼 2013-01-04 07:04 | garfieldtom 学习 支持(0) 反对(0)
#2楼 2013-04-28 17:57 | 涵曦 好东西,正用的着 支持(0) 反对(0)
#3楼 2013-07-11 14:46 | 刺头士 楼主你的cell_C4 = table.cell(2,3).value这一行写错了,cell方法的第二个参数对应的 是列数,第一个参数才是行数,所以C4应该这样表达 C4=table.cell(3,2).value 支持(0) 反对(0)
谷歌搜索
常用链接
我的随笔 我的评论 我的参与 最新评论 我的标签
最新随笔
1. PA+Hibernate 3.3 ——增删改 查
/lhj588/archive/2012/01/06/2314181.html[2013/8/26 11:00:14]
python操作Excel读写--使用xlrd - lhj588 - 博客园 2. JPA+Hibernate 3.3 ——基本属 性映射 3. JPA+Hibernate 3.3 ——第一个J PA程序 4. memcached配置 启动 5. mysql服务启动、停止、重启 6. HTTP Status 500 - Unable to cr eate directory 7. linux 重启和关机 8. IOS开发系列之阿堂教程:玩转IPh one客户端和Web服务端交互(客户 端)实践 9. Redis 10. SVN服务器安装记录
我的标签
php(2) Python GUI(2) SQL优化(1) pyQt4(1) Jquery(1) Lucene(1)
随笔分类(42)
Django(11) IOS(1) Java(5) Linux(6) mybatis(1) MySql(7) NET Error Python(5) python Error(2) Quartz(1) Ruby(2) SQL Server(1) 1 # -*- coding: utf-8 -*2 import xdrlib ,sys 3 import xlrd 4 def open_excel(file= 'file.xls'): 5 try: 6 data = xlrd.open_workbook(file) 7 return data 8 except Exception,e: 9 print str(e) 10 #根据索引获取Excel表格中的数据 参数:file:Excel文件路径 colnameindex:表头列名所在行的所以 ,by_index:表的索引 11 def excel_table_byindex(file= 'file.xls',colnameindex=0,by_index=0): 12 data = open_excel(file) 13 table = data.sheets()[by_index] 14 nrows = table.nrows #行数 15 ncols = table.ncols #列数 16 colnames = table.row_values(colnameindex) #某一行数据 17 list =[] 18 for rownum in range(1,nrows):