九、Python 操作excel(一)
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数据的读取和写⼊⾸先,很感谢B站和⽹上的其他博客,个⼈觉得博主的⽂章很全⾯~,谢谢https:///video/BV14p4y1e7RK?from=search&seid=15752825247017275522&spm_id_from=333.337.0.0,https:///zhouz92/article/details/107119898?spm=1001.2014.3001.5501其次,写这篇更多的是回顾今天所学:使⽤python中的xlrd模块和xlwt模块实现对Excel中数据的写⼊和读取操作。
⽬标:1. 新建Excel⼯作表2. 向具体的单元格写⼊数据3. 读⼊其他Excel表的内容。
因为我想实现第⼆步写⼊的数据来⾃其他的Excel表4. 对单元格添加⼀些样式我把每个⼩⽬标分别写成了函数,使得代码看起来思路清晰详细代码:分别安装模块: pip install xlrd pip install xlwt1.创建新的excel表函数:# 创建excel表def create_excel():work_book = xlwt.Workbook() # 新建⼯作簿# cell_overwrite_ok默认是False,是否覆盖ws = work_book.add_sheet("Test1", cell_overwrite_ok=True) # 新建⼯作表return work_book, ws2.向具体的单元格写⼊数据:这⾥先向(0,0)(1,1)单元格写⼊数据,后期从其他⼯作表中读取数据后再修改# 向具体的⼯作表的单元格写⼊数据def write_data(work_book, work_sheet): # 传⼊的参数为:⼯作簿,⼯作表# 向单元格写⼊内容work_sheet.write(0, 0, "123")work_sheet.write(1, 1, "come on")work_book.save("Test.xls")3.读取excel中的数据:# 读取excel表中的数据def read_data(path):work_book = xlrd.open_workbook(path)sheet = work_book.sheet_by_index(0) # 根据索引获取具体是哪⼀个⼯作表,也可以根据⼯作表的名字来获取⼯作表print("⼀共有:", sheet.nrows, "⾏", sheet.ncols, "列")4.样式函数:我这⾥⽬前只是设置了⼀下字体,当然如果有其他需求,可以在这个函数不断地添加需求,例如对齐⽅式等。
Python对Excel操作用法详解
Python对Excel操作⽤法详解在python中,对excel表格读,写,追加数据,⽤以下三个模块:1、xlrd 读取excel表中的数据2、xlwt 创建⼀个全新的excel⽂件,然后对这个⽂件进⾏写⼊内容以及保存。
3、xlutils 读⼊⼀个excel⽂件,然后进⾏修改或追加,不能操作xlsx,只能操作xls。
⼀、读excel表读excel要⽤到xlrd模块1、导⼊模块 import xlrd2、打开excel⽂件table = data.sheets()[0] #通过索引顺序获取table = data.sheet_by_index(0) #通过索引顺序获取table = data.sheet_by_name(u'Sheet1')#通过名称获取代码如下:import xlrddata = xlrd.open_workbook(r"C:\Users\907968\Desktop\test.xlsx")table1 = data.sheets()[0]table2 = data.sheet_by_index(0)table3=data.sheet_by_name(u'Sheet1')print(table1)print(table2)print(table3)返回:<xlrd.sheet.Sheet object at 0x0000000002F7F208><xlrd.sheet.Sheet object at 0x0000000002F7F208><xlrd.sheet.Sheet object at 0x0000000002F7F208>3、获取⾏数和列数import xlrddata = xlrd.open_workbook(r"C:\Users\907968\Desktop\test.xlsx")table = data.sheets()[0]nrows = table.nrowsncols = table.ncolsprint("⾏数:%d\n列数:%d"%(nrows,ncols))返回:⾏数:13列数:34、获取整⾏和整列的值,以列表形式返回rows = table.row_values(0)cols = table.col_values(0)print("rows:%s\ncols:%s"%(rows,cols))返回:rows:['A1', 'B1', 'C1']cols:['A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7', 'A8', 'A9', 'A10', 'A11', 'A12', 'A13']5、获取单元格数据cell_A1 = table.cell_value(0,0)cell_C4 = table.cell_value(3,2)print("A1:%s\nC4:%s"%(cell_A1,cell_C4))返回:A1:A1C4:C4还可以使⽤⾏列索引来获取单元格数据cell_A1 = table.row(0)[0].valuecell_C4 = table.col(2)[3].valueprint("A1:%s\nC4:%s"%(cell_A1,cell_C4))返回:A1:A1C4:C4三、写excel操作1、导⼊:import xlwt2、创建workbookworkbook = xlwt.Workbook(encoding='utf-8', style_compression=0)encoding:设置字符编码,⼀般要这样设置:w = Workbook(encoding=’utf-8’),就可以在excel中输出中⽂了。
使用python操作excel
使⽤python操作excel使⽤python操作excelpython操作excel主要⽤到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。
安装xlrd模块#pip install xlrd使⽤介绍常⽤单元格中的数据类型 empty(空的) string(text) number date boolean error blank(空⽩表格) empty为0,string为1,number为2,date为3,boolean为4, error为5(左边为类型,右边为类型对应的值)导⼊模块import xlrd打开Excel⽂件读取数据data = xlrd.open_workbook(filename[, logfile, file_contents, ...])#⽂件名以及路径,如果路径或者⽂件名有中⽂给前⾯加⼀个r标识原⽣字符。
#filename:需操作的⽂件名(包括⽂件路径和⽂件名称);若filename不存在,则报错FileNotFoundError;若filename存在,则返回值为xlrd.book.Book对象。
常⽤的函数 excel中最重要的⽅法就是book和sheet的操作# (1)获取book中⼀个⼯作表names = data.sheet_names()#返回book中所有⼯作表的名字table = data.sheets()[0]#获取所有sheet的对象,以列表形式显⽰。
可以通过索引顺序获取,table = data.sheet_by_index(sheet_indx))#通过索引顺序获取,若sheetx超出索引范围,则报错IndexError;若sheetx在索引范围内,则返回值为xlrd.sheet.Sheet对象table = data.sheet_by_name(sheet_name)#通过名称获取,若sheet_name不存在,则报错xlrd.biffh.XLRDError;若sheet_name存在,则返回值为xlrd.sheet.Sheet对象以上三个函数都会返回⼀个xlrd.sheet.Sheet()对象data.sheet_loaded(sheet_name or indx)# 检查某个sheet是否导⼊完毕,返回值为bool类型,若返回值为True表⽰已导⼊;若返回值为False表⽰未导⼊# (2)⾏的操作nrows = table.nrows#获取该sheet中的有效⾏数table.row(rowx)#获取sheet中第rowx+1⾏单元,返回值为列表;列表每个值内容为:单元类型:单元数据table.row_slice(rowx[, start_colx=0, end_colx=None])#以切⽚⽅式获取sheet中第rowx+1⾏从start_colx列到end_colx列的单元,返回值为列表;列表每个值内容为:单元类型:单元数据table.row_types(rowx, start_colx=0, end_colx=None)#获取sheet中第rowx+1⾏从start_colx列到end_colx列的单元类型,返回值为array.array类型。
python excel解析
python excel解析Python是一门强大的编程语言,它可以与多种文件格式交互,包括Microsoft Excel。
利用Python语言,我们可以读取、处理和创建Excel文件,以及从Excel文件中提取有用的信息。
在Python中,我们可以使用第三方库——openpyxl来操作Excel文件。
openpyxl可以读取和写入Excel文件中的数据、格式和图表,也可以创建新的Excel文件。
下面是一些openpyxl库所支持的操作:1. 读取Excel文件要读取Excel文件,我们需要使用openpyxl库中的load_workbook 函数。
load_workbook函数将Excel文件作为输入,并返回一个Workbook对象,该对象包含Excel文件中的所有工作表。
2. 读取工作表一旦我们加载了Excel文件,我们就可以通过名字或索引访问其中的工作表。
我们可以使用Worksheet对象中的cell函数读取单元格中的数据,或使用iter_rows函数读取整个工作表中的行。
3. 写入Excel文件要写入Excel文件,我们需要使用Workbook对象的create_sheet函数创建新的工作表。
我们可以使用Worksheet对象中的cell函数写入单元格中的数据,或使用append函数向工作表中添加新行。
4. 格式化Excel文件我们可以使用openpyxl库中的各种函数和属性来格式化Excel文件。
例如,我们可以设置列宽、行高、单元格字体、颜色和边框等。
5. 创建图表使用openpyxl库,我们可以创建各种类型的图表,例如线图、柱状图、饼图等。
我们可以使用Chart对象中的各种函数和属性来设置图表的大小、数据系列、颜色等。
总之,利用Python和openpyxl库可以轻松地操作Excel文件。
无论是读取数据、处理数据还是创建新的Excel文件,Python都可以成为您的得力助手。
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文件。
Python处理Excel文件的能力极强,可以进行数据提取、数据处理、数据分析等多方面操作。
下面是一个Python处理Excel文件的实例:1. 导入所需的库```pythonimport openpyxl```2. 读取Excel文件```pythonwb = openpyxl.load_workbook('example.xlsx')```这个代码块会打开名为example.xlsx的Excel文件,并将其存储在变量wb中。
3. 选择工作表```pythonsheet = wb['Sheet1']```这个代码块会选择名为Sheet1的工作表,并将其存储在变量sheet中。
4. 读取单元格数据cell_value = sheet['A1'].value```这个代码块会读取A1单元格的数据,并将其存储在变量cell_value中。
5. 读取行数据```pythonrow_values = []for row in sheet.iter_rows(min_row=2, max_col=3):row_values.append([cell.value for cell in row])```这个代码块会读取工作表中第2行到最后一行、第1列到第3列的数据,并将其存储在列表row_values中。
6. 读取列数据```pythoncolumn_values = []for column in sheet.iter_cols(min_row=2, max_row=4):column_values.append([cell.value for cell in column]) ```这个代码块会读取工作表中第2列到第4列、第1行到最后一行的数据,并将其存储在列表column_values中。
python xlsx操作方法
python xlsx操作方法摘要:1.Python与Excel的关联2.使用pandas库操作Excel3.读取Excel文件4.数据处理与分析5.保存数据至Excel文件6.其他常用操作方法7.总结正文:Python作为一种广泛应用于数据处理和科学计算的编程语言,与Excel的关联越来越紧密。
通过pandas库,Python可以轻松实现对Excel文件的操作,包括读取、数据处理、分析和保存数据等。
本文将详细介绍Python如何使用pandas库进行Excel操作。
首先,确保已经安装了pandas库和openpyxl库。
可以使用以下命令进行安装:```pip install pandaspip install openpyxl```1.使用pandas库操作Excelpandas库是Python中进行数据处理的重要工具,它提供了DataFrame 数据结构,可以方便地对数据进行处理和分析。
pandas支持多种数据来源,其中就包括Excel文件。
2.读取Excel文件要使用pandas读取Excel文件,可以使用`read_excel()`函数。
该函数有多个参数,用于指定读取的文件路径、工作表名称以及读取模式等。
例如:```pythonimport pandas as pd# 读取Excel文件file_path = "example.xlsx"df = pd.read_excel(file_path, sheet_name="Sheet1",engine="openpyxl")```3.数据处理与分析读取Excel文件后,可以使用pandas提供的各种函数对数据进行处理和分析。
例如,可以使用`describe()`函数查看数据的描述性统计信息,使用`groupby()`函数进行分组汇总等。
```python# 查看数据的描述性统计信息print(df.describe())# 对数据进行分组汇总grouped = df.groupby("column_name")```4.保存数据至Excel文件对数据进行处理和分析后,可以使用`to_excel()`函数将结果保存至Excel 文件。
python中使用xlwt操作excel的常见方法与问题
python中使⽤xlwt操作excel的常见⽅法与问题前⾔Python可以操作Excel的模块不⽌⼀种,我习惯使⽤的写⼊模块是xlwt(⼀般都是读写模块分开的)python中使⽤xlwt操作excel⾮常⽅,和Java使⽤调框架apache poi相⽐这就是天堂啊,下⾯话不多说了,来⼀起看看详细的介绍吧⼀.安装xlwt模块pip3 install xlwt⼆.简单使⽤xlwtimport xlwt #导⼊模块workbook = xlwt.Workbook(encoding='utf-8') #创建workbook 对象worksheet = workbook.add_sheet('sheet1') #创建⼯作表sheetworksheet.write(0, 0, 'hello') #往表中写内容,第⼀各参数⾏,第⼆个参数列,第三个参数内容workbook.save('students.xls') #保存表为students.xls#在Java中使⽤poi操作excel 在创建workbook对象的时候就需要写好表名,创建workbook对象完成后#这个表就已经存在,但是使⽤xlwt 需要在最后调⽤保存的时候为表命名,并且只有调⼊save⽅法后才会#创建表三.为内容设置styleworkbook = xlwt.Workbook(encoding='utf-8')worksheet = workbook.add_sheet('sheet1')#设置字体样式font = xlwt.Font()#字体 = 'Time New Roman'#加粗font.bold = True#下划线font.underline = True#斜体font.italic = True#创建stylestyle = xlwt.XFStyle()style.font = font#根据样式创建workbookworksheet.write(0, 1, 'world', style)workbook.save('students.xls')四.合并单元格使⽤xlwt 合并单元格时不⽤像poi通过style来设置,直接创建和并单元格就可以,workbook = xlwt.Workbook(encoding='utf-8')worksheet = workbook.add_sheet('sheet1')#通过worksheet调⽤merge()创建合并单元格#第⼀个和第⼆个参数单表⾏合并,第三个和第四个参数列合并,#合并第0列到第2列的单元格worksheet.write_merge(0, 0, 0, 2, 'first merge')#合并第1⾏第2⾏第⼀列的单元格worksheet.write_merge(0, 1, 0, 0, 'first merge')workbook.save('students.xls')如果需要了解具体调合并单元格规则就⾃⼰试着合并,查看合并效果.才能清晰明了五.设置单元格的对齐⽅式workbook = xlwt.Workbook(encoding='utf-8')worksheet = workbook.add_sheet('sheet1')alignment = xlwt.Alignment()# ⽔平居中alignment.horz = xlwt.Alignment.HORZ_CENTER# 垂直居中alignment.vert = xlwt.Alignment.VERT_CENTERstyle.alignment = alignment#设置单元格宽度worksheet.col(0).width = 6666#设置单元格的⾼度worksheet.row(0).height_mismatch = True worksheet.row(0).height = 1000worksheet.write(0, 0, 'hello world', style) workbook.save('center.xls')六.设置单元格调边框workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') border = xlwt.Borders()# DASHED虚线# NO_LINE没有# THIN实线border.left = xlwt.Borders.THIN# 设置颜⾊border.left_coloure = 0x40bborder.right = xlwt.Borders.THINborder.right_colour = 0x40bborder.top = xlwt.Borders.THINborder.top_colour = 0x40bborder.bottom = xlwt.Borders.THINborder.bottom_colour = 0x40bstyle = xlwt.XFStyle()style.borders = borderworksheet.write(0, 0, 'love', style) workbook.save('dashed.xls')七.设置单元格边框workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') border = xlwt.Borders()# DASHED虚线# NO_LINE没有# THIN实线border.left = xlwt.Borders.THINborder.right = xlwt.Borders.THINborder.top = xlwt.Borders.THINborder.bottom = xlwt.Borders.THINstyle = xlwt.XFStyle()style.borders = borderworksheet.write(1, 1, 'love', style) workbook.save('dashed.xls')⼋.设置单元格背景⾊workbook = xlwt.Workbook(encoding='utf-8') worksheet = workbook.add_sheet('sheet1') pattern = xlwt.Pattern()pattern.pattern = xlwt.Pattern.SOLID_PATTERN # 8 through 63# 0 = Black, 1 = White,# 2 = Red, 3 = Green, 4 = Blue,# 5 = Yellow, 6 = Magenta, 7 = Cyan,# 16 = Maroon, 17 = Dark Green,# 18 = Dark Blue, 19 = Dark Yellow ,# almost brown), 20 = Dark Magenta,# 21 = Teal, 22 = Light Gray,# 23 = Dark Gray, the list goes on... pattern.pattern_fore_colour = 3style.pattern = patternworksheet.write(1, 1, 'shit', style)workbook.save('shit.xls')九.设置字体颜⾊workbook = xlwt.Workbook(encoding='utf-8')worksheet = workbook.add_sheet('sheet1')font = xlwt.Font()# 设置字体为红⾊font.colour_index=xlwt.Style.colour_map['red']style = xlwt.XFStyle()style.font = fontworksheet.write(0, 1, 'world', style)workbook.save('students.xls')遇到的问题:1.PermissionError: [Errno 13] Permission denied: 'dashed.xls'原因:测试写⼊调时候⽂件被打开了,⽆法写⼊,关闭⽂件后再写⼊就ok了2.TypeError: 'module' object is not callable创建style的时候调错对象将style = xlwt.Style()改为style = xlwt.XFStyle()总结以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,如果有疑问⼤家可以留⾔交流,谢谢⼤家对的⽀持。
使用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:用xlwt设置excel单元格背景颜色,给字体加粗。【附】颜色表
Python操作excel:⽤xlwt设置excel单元格背景颜⾊,给字体加粗。
【附】颜⾊表⼀、代码设置【第⼀种⽅法】--》使⽤easyxf()⽅法xlwt.easyxf() 设置样式;pattern 指的就是背景:ice_blue 就是我设置的颜⾊;font 就是设置字体:bold on 是加粗;样式可以合⼀起,之间⽤分号;分开。
# 设置颜⾊style = xlwt.easyxf('pattern: pattern solid, fore_colour ice_blue')# 字体加粗style = xlwt.easyxf('font: bold on')#样式合并style = xlwt.easyxf('pattern: pattern solid, fore_colour ice_blue; font: bold on')# 为指定单元格设置样式sheets.write(0, 0, "hello girl", style)⼆、代码设置【第⼆种⽅法】--》使⽤XFStyle()⽅法逐步构建对象import xlwtstyle = xlwt.XFStyle()pattern = xlwt.Pattern()pattern.pattern = xlwt.Pattern.SOLID_PATTERNpattern.pattern_fore_colour = xlwt.Style.colour_map['dark_purple']style.pattern = pattern三、颜⾊表:aqua 0x31black 0x08blue 0x0Cblue_gray 0x36bright_green 0x0Bbrown 0x3Ccoral 0x1Dcyan_ega 0x0Fdark_blue 0x12dark_blue_ega 0x12dark_green 0x3Adark_green_ega 0x11dark_purple 0x1Cdark_red 0x10dark_red_ega 0x10dark_teal 0x38dark_yellow 0x13gold 0x33gray_ega 0x17gray25 0x16gray40 0x37gray50 0x17gray80 0x3Fgreen 0x11ice_blue 0x1Findigo 0x3Eivory 0x1Alavender 0x2Elight_blue 0x30light_green 0x2Alight_orange 0x34light_turquoise 0x29light_yellow 0x2Blime 0x32magenta_ega 0x0Eocean_blue 0x1Eolive_ega 0x13olive_green 0x3Borange 0x35pale_blue 0x2Cperiwinkle 0x18pink 0x0Eplum 0x3Dpurple_ega 0x14red 0x0Arose 0x2Dsea_green 0x39silver_ega 0x16sky_blue 0x28tan 0x2Fteal 0x15teal_ega 0x15turquoise 0x0Fviolet 0x14white 0x09yellow 0x0D四、实际应⽤# 写⼊⽤例Excel的return data列以及results列def write_result_data(self, result_list: list, write_file_name: str, save_path: str):"""@param save_path: 保存测试报告Excel⽂件的路径@param result_list: 需要写⼊的数据【列表格式】@param write_file_name:需要写⼊的excel的⽂件名@return:"""mkdir(input_dir=save_path) # 判断是否存在⽬标⽂件夹【保存Excel⽂件的路径是否存在】new_report_workBook = copy(self.data) # 复制出来的新excel对象,即新的workBook变量new_report_workSheet = new_report_workBook.get_sheet(self.sheetName) # 为新的excel对象赋值sheet表 current_time = datetime.datetime.strftime(datetime.datetime.now(), '%Y-%m-%d-%H%M%S') for line in range(0, len(result_list)):# 表⽰跳过第⼀⾏【从第⼆⾏开始逐⾏写⼊】,写在第九列【index从0开始】,写⼊内容为new_report_workSheet.write(1 + line, 9, str(result_list[line][0])) # ⾏下标列下标内容# 【设置颜⾊&字体加粗】样式合并style = xlwt.easyxf('pattern: pattern solid, fore_colour red; font: bold on')if result_list[line][1] is True:new_report_workSheet.write(1 + line, 10, str(result_list[line][1]))elif result_list[line][1] is False:# 为指定单元格设置样式new_report_workSheet.write(1 + line, 10, str(result_list[line][1]), style)try:new_report_workBook.save(f'{save_path}\\{write_file_name}{current_time}.xls')except Exception:raisereturn f'{save_path}\\{write_file_name}{current_time}.xls'。
使用Python处理excel表格(openpyxl)教程
使⽤Python处理excel表格(openpyxl)教程现在有个⼩任务,需要处理excel中的数据。
其实就是简单的筛选,excel玩的不熟练,⽽且需要处理的表有70多个,于是想着写个脚本处理⼀下吧。
python中的openpyxl包可以轻松实现读写excel⽂件,下⾯简单介绍⼀下过程。
1.安装openpyxl通过pip或者easy_install均可安装openpyxl。
openpyxl官⽹:https:///en/latest/安装命令:pip install openpyxl (在线安装)或者 easy_install openpyxl 即可。
2.使⽤openpyxl读xlsx加载workbook,注意,openpyxl只⽀持xlsx格式,⽼版的xls格式需要其他⽅法去加载。
wb = load_workbook(filename = r'tj.xlsx')获取每个sheet的名称sheetnames = wb.get_sheet_names()获得第⼀个sheetws = wb.get_sheet_by_name(sheetnames[0])获取⼀个单元格的数据c = ws['A4']或者c = ws.cell('A4')或者d = ws.cell(row = 4, column = 2)⼀次获取多个单元格的数据cell_range = ws['A1':'C2']或者tuple(ws.iter_rows('A1:C2'))或者1. for row in ws.iter_rows('A1:C2'):2. for cell in row:3. <span style='white-space:pre'> </span>print cell或者1. data_dic = []2.3. for rx in range(0,ws.get_highest_row()):4.5. temp_list = []6. money = ws.cell(row = rx,column = 1).value7. kind = ws.cell(row = rx,column = 2).value8.9. temp_list = [money , kind]10. #print temp_list11.12. data_dic.append(temp_list)13.14. for l in data_dic:15. print l[0],l[1]3.写⼊xlsx⽐如数据存在上边定义的data_dic中1. out_filename = r'result.xlsx'2.3. outwb = Workbook()4.5. ew = ExcelWriter(workbook = outwb)6.7. ws = outwb.worksheets[0]8.9. ws.title = 'res'9. ws.title = 'res'10.11. i=112. for data_l in data_dic:13. for x in range(0,len(data_l)):14. #col = get_column_letter(x)15. ws.cell(column = x+1 , row = i , value = '%s' % data_l[x])16. i+=117.18. ew.save(filename = out_filename)再增加⼀个sheet写内容1. ws2 = outwb.create_sheet(title = 's2')2.3. for data_l in data_dic:4. for x in range(0,len(data_l)):5. ws2.cell(column = x+1 , row = i , value = '%s' % data_l[x])6. i+=17.8. ew.save(filename = out_filename)4.中⽂编码问题表格中的值,openpyxl会⾃动转换为不同的类型,有些表格中会有中⽂出现,就需要进⾏相应的转码。
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维列表。
利用python对excel中的特定数据提取并写入新表的方法
利用python对excel中的特定数据提取并写入新表的方法一、引言在实际工作中,我们常常需要利用Python对Excel文件中的特定数据进行提取,并将其写入新的表格。
本文将详细介绍如何利用Python实现这一目的,从而提高数据处理的效率。
二、Python提取Excel数据库方法1.安装库要处理Excel文件,我们需要安装python-openpyxl库。
在命令行中输入以下命令进行安装:```pip install openpyxl```2.读取Excel文件首先,我们需要导入openpyxl库,并使用openpyxl.load_workbook()函数读取Excel文件。
```pythonimport openpyxl# 读取Excel文件workbook = openpyxl.load_workbook("example.xlsx")```3.提取特定数据接下来,我们需要根据需求提取Excel文件中的特定数据。
以下是一个简单的示例,提取A1单元格的值:```python# 提取A1单元格数据cell_value = workbook["Sheet1"].cell(1, 1).value```三、将提取的数据写入新表1.创建新表结构首先,我们需要创建一个新的Excel文件,并设置新表的结构。
以下代码示例创建了一个包含3列的新表:```python# 创建新表ew_workbook = workbook.copy(title="New Sheet")# 获取新表ew_sheet = new_workbook["New Sheet"]# 设置新表列宽for col in range(1, 4):new_sheet["A" + str(col)].column_width = 10```2.写入数据接下来,我们将提取的特定数据写入新表。
python 读取excel 表格方法
这段代码会输出第一行第一列单元格中的数据。将row和column参数设置为要读取的单元格的行号和列号即可。如果要获取整行或整列的数据,可以使用iter_rows或iter_cols方法。
六、遍历整个工作表
如果需要遍历整个工作表的数据,可以使用iter_rows方法,代码如下:
```python
```
现在,可以开始使用openpyxl库来读取Excel表格了。
三、打开Excel文件
要读取Excel表格,首先需要打开Excel文件。使用openpyxl库的load_workbook函数可以打开一个Excel文件,代码如下:
```python
workbook = openpyxl.load_workbook('example.xlsx')
```python
pip install openpyxl
```
安装完成后,就可以使用openpyxl库来操作Excel表格了。
二、导入openpyxl库
在使用openpyxl库之前,需要先导入它。可以使用以下代码将openpyxl库导入到Python脚本中:
```python
import openpyxl
十、处理大批量Excel文件
在实际工作中,可能需要处理大批量的Excel文件。openpyxl库可以很方便地处理这种情况,可以使用Python的文件操作功能和循环结合openpyxl库来实现批量处理。比如可以遍历文件夹中的所有Excel文件,对其进行读取、修改或合并等操作。
十一、与其他库结合使用
除了openpyxl库外,Python还有许多其他强大的数据处理和可视化库,比如pandas、numpy和matplotlib等。可以将openpyxl库与这些库结合使用,实现更复杂的数据处理和分析。比如可以使用pandas库读取Excel数据并进行分析,然后将分析结果再写回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实现操作excel,数据写入excel的一行或者一列
python实现操作excel,数据写⼊excel的⼀⾏或者⼀列# _*_ coding:utf-8 _*_import randomimport xlwt,stringclass ImportData(object):def create_num(self,num):"""⾃动⽣成11位号段::param num: 输⼊数据数量:return:"""self.column0 = []num_start = ['134', '135', '136', '137', '138', '139', '140', '141','142', '148', '149', '147', '143', '144', '145','147', '130', '131', '132', '146']for i in range(num):start = random.choice(num_start) # random.sample()⽣成随机数字 # .join()函数可以⽤来将字符串进⾏拼接 # digits⽅法的作⽤是⽣成数组,包括0-9median = ''.join(random.sample(string.digits, 4))end = ''.join(random.sample(string.digits, 4))res = start + median + endself.column0.append(int(res))print(self.column0)return self.column0def write_excel(self, num):f = xlwt.Workbook()sheet1 = f.add_sheet(u'sheet1', cell_overwrite_ok=True) # 创建sheetrow0 = [u'终端编号', u'终端类型', u'车牌号码', u'SIM卡', u'服务密码', u'ICCID号', u'车架号',u'发动机号', u'安装⽇期', u'车主', u'联系⽅式', u'安装地点', u'备注', u'安装⼈员',u'车型', u'续费年限']create_nums0 = ImportData()column0 = create_nums0.create_num(num)status = [u'A5B', u'A5C-3', u'A5C-5', u'A5C-8', u'K10']# ⽣成字段名(第⼀⾏)for i in range(0, len(row0)):sheet1.write(0, i, row0[i])# ⽣成第⼀列for i in range(0, len(column0)):sheet1.write(i + 1, 0, column0[i]) # sheet1.write(⾏数,列数,内容) ⾏数和列数从0开始# ⽣成第⼆列i = 0while i < num/5 * len(status):for j in range(0, len(status)):sheet1.write(j + i + 1, 1, status[j])i += 5# ⽣成第三列for j in range(0, len(column0)):sheet1.write(j + 1, 2, column0[j])# ⽣成第四列for s in range(0, len(column0)):sheet1.write(s + 1, 3, column0[s])f.save('批量导⼊模板.xlsx') # 保存⽂件if__name__ == '__main__':nums = ImportData()nums.write_excel(1000)。
pycharm操作excel
pycharm操作excel⼀、安装openpyxlPython中,往excel写⼊数据通常使⽤openpyxl库。
也可以使⽤pandas库。
这⾥讲解如何通过openpyxl库操作excel。
pip install openpyxl或者直接界⾯化安装:⼆、直接创建⽂件1# -*- coding: utf-8 -*-import openpyxlwb=openpyxl.Workbook() #创建Workbook()对象ws=wb.active #获取默认⼯作薄#ws.create_sheet('sheet2') #创建⼀个名为sheet2的作薄(⼀般不⽤写默认会⾃动创建)ws.append(["Hello", "World"])#往⽂件中写⼊数据wb.save("Test.xlsx") #保存注:此时的⽂件是每次都会覆盖旧内容。
三、直接创建⽂件2# -*- coding: utf-8 -*-import openpyxl#读取excel⽂件,获取workbook对象wb=openpyxl.load_workbook("Test.xlsx")sheet=wb['Sheet'] #通过名称获取⼯作薄sheet.append(["Hello", "World"]) #插⼊⼀⾏数据wb.save("Test.xlsx") #保存,传⼊原⽂件则在原⽂件上追加数据,也可以保存为新⽂件注:此时的⽂件是可以追加内容的。
四、直接创建⽂件3# -*- coding: utf-8 -*-import openpyxlfrom openpyxl.styles import PatternFill #设置单元样式需要使⽤styles#读取excel⽂件,获取workbook对象wb=openpyxl.load_workbook("Test.xlsx")sheet=wb['Sheet'] #通过名称获取⼯作薄sheet.append(["Hello", "World"]) #插⼊⼀⾏数据#设置第⼀列的宽度sheet.column_dimensions['A'].width = 20.0# #设置第⼀⾏的⾼度sheet.row_dimensions[1].height = 25.0#设置(1,1)的单元格的颜⾊为8E236B,填充⽅式⽤solid(纯⾊)sheet.cell(1,1).fill=PatternFill(fill_type="solid",start_color="8E236B")wb.save("Test.xlsx") #保存注:此时可以设置单元格的颜⾊和⼤⼩。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
pip install xlrd(读)1.导入:import xlrd2.打开文件:book = xlrd.open_workbook(文件位置+文件名)3.根据sheet名称获取工作薄:sheet = book.sheet_by_name('Sheet5')4.获取行数:rows = sheet.nrows5.获取列数:cols = sheet.ncols6. 按行获取值:for r in range(rows):row_vaule = sheet.row_values(r)7.按列获取值: for c in range(cols):col_vuale = sheet.col_values(c)8.按行列获取值:sheet.cell(行,列) 注:行列第一行下标从0开始pip install xlwt(写,不支持xlsx格式)1.导入:import xlwt2.初始化并创建一个工作簿:book = xlwt.Workbook()3.sheet = book.add_sheet('Sheet5',cell_overwrite_ok = True) #同一个单元格重复写入数据设置,book.add_sheet('Sheet5',cell_overwrite_ok = True)4.按行列写入:sheet.write(行,列,'内容')5.合并信息并写入样式:sheet.write_merge(开始行,结束行,开始列,结束列,'内容',self.styleExcle(2,3)) #self.styleExcle(2,3)自定义函数,2,3为参数,详见下面的实例6.保存:book.save(文件位置+文件名)pip install xlutils(结合读写可修改excel)1.导入:from xlutils.copy import copy import os2.打开文件:book = xlrd.open_workbook(filename)3.复制excel:newbook = copy(book)4.打开第一个工作薄:sheet = newbook.get_sheet(0)5.修改第2行,第一列的值:sheet.write(1,0,'xiugren')6.保存文件:newbook.save(copefilename)7.删除旧文件:os.remove(filename)8.重命名新文件名为旧文件名:os.rename(copefilename,filename)文件路径实例#!/usr/bin/python# ‐*‐ coding: UTF‐8 ‐*‐import xlrdimport xlwtfrom xlutils.copy import copyimport os'''xlwt:只支持xls不支持xlsx如果写入数据时,打开了exl会报PermissionError: [Errno 13] Permission denied: 异常 '''class excel():#编辑Excel样式,字体加粗加红def styleExcle(self,fontclour,patternclour):#初始化样式style = xlwt.XFStyle()#为样式创建字体font = xlwt.Font()font.colour_index = fontclour #2为红色 3为绿色#font.bold = True #粗体#font.height = 400# 字体大小#font.italic = True # 斜体#font.struck_out =True # 横线(比如:在一个字中 画上一横)style.font= font#设置背景颜色pattern = xlwt.Pattern()#设置背景颜色的模式pattern.pattern = xlwt.Pattern.SOLID_PATTERN#背景颜色pattern.pattern_fore_colour= patternclour#2为红色 3为绿色style.pattern = patternreturn style#xlwt(写)def wirteExcle(self,filename,data):#初始化并创建一个工作簿book = xlwt.Workbook()#创建一个名为sheetname的表单sheet = book.add_sheet('Sheet5',cell_overwrite_ok = True)#同一个单元格重复写入数据设置,book.add_sheet('Sheet5',cell_overwrite_ok = True)#同一个单元格重复写入数据设置,book.add_sheet('Sheet5',cell_overwrite_ok = True) #默认 cell_overwrite_ok = False 表示禁止重复写入,重写抛出异常raiseException(msg)Exception: Attempt to overwrite cell:c=1for students in data:#标题sheet.write(0,0,'姓名')sheet.write(0,1,'年龄')#内容(行,列,值)第一行=0,第一列=0sheet.write(c,0,students['name'])sheet.write(c,1,students['age'])c+=1#(开始行,结束行,开始列,结束列,合并信息)sheet.write_merge(c,c,0,1,'学生信息',self.styleExcle(2,3))#将工作簿以filename命名并保存book.save(filename)#xlutils(结合读写可修改excel)def updateExcle(self,filename,copefilename):book = xlrd.open_workbook(filename)#打开文件newbook = copy(book)#复制excelsheet = newbook.get_sheet(0)#打开第一个工作薄sheet.write(1,0,'xiugren')#修改第2行,第一列的值newbook.save(copefilename)#保存文件os.remove(filename)#删除文件os.rename(copefilename,filename)#重命名#xlrd(读)def readExcle(self,filename):print('‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐开始‐读‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐') book = xlrd.open_workbook(filename)#打开文件sheetname =book.sheet_names()#查看文件中包含sheet的名称sheet = book.sheet_by_name('Sheet5')#根据sheet名称获取工作薄#sheet = file.sheets()[0] #获取第一个sheet#sheet = file.sheet_by_index(0)#获取第一个sheet#cell_A1 = sheet.cell(0,0).value#获取第1行第1列的值#row_A1 = sheet.row(0)[1].value#获取第1行第2列的值#col_A2 = sheet.col(1)[2].value#获取第2列第2行的值#print(cell_A1,row_A1,col_A2)rows = sheet.nrows#获取行数cols = sheet.ncols#获取列数print('按行打印值,返回list值,一行一个list')for r in range(rows):row_vaule = sheet.row_values(r)print(r,row_vaule)print('按列打印值,返回list值,一列一个list')for c in range(cols):#默认从0开始,如果从1开始(1,cols)col_vuale = sheet.col_values(c)print(c,col_vuale)print('按第二行,第二列打印值')print(sheet.cell(1,1))print('‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐结束‐读‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐') if __name__=='__main__':str= [{'name':'zhangshan','age':19},{'name':'lisi','age':28},{'name':'wangwu','age':59}]exl = excel()exl.wirteExcle('D:\excel\pythonexcel.xls',str)exl.readExcle('D:\excel\pythonexcel.xls')exl.updateExcle('D:\excel\pythonexcel.xls','D:\excel\pythonexcel1.xls') 文件内容读取文件内容,控制台打印信息‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐开始‐读‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐按行打印值,返回list值,一行一个list0 ['姓名', '年龄']1 ['zhangshan', 19.0]2 ['lisi', 28.0]3 ['wangwu', 59.0]4 ['学生信息', '']按列打印值,返回list值,一列一个list0 ['姓名', 'zhangshan', 'lisi', 'wangwu', '学生信息']1 ['年龄', 19.0, 28.0, 59.0, '']按第二行,第二列打印值number:19.0‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐结束‐读‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐。