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中openpyxl的用法

python中openpyxl的用法openpyxl是一个Python库,它允许读取和写入Microsoft Excel 2010(xlsx/xlsm/xltx/xltm)文件。
通过使用openpyxl,可以在Python中创建、修改、保存Excel文件,还可以进行数据分析、数据处理等操作。
使用openpyxl的第一步就是安装它。
可以使用pip命令来安装openpyxl:```pythonpip install openpyxl```安装完成之后,就可以开始使用openpyxl了。
以下是一些常见的openpyxl用法:1. 创建一个Excel文件```pythonfrom openpyxl import Workbookwb = Workbook() # 创建一个新的Excel文件ws = wb.active # 获取当前活动的工作表ws['A1'] = '姓名'ws['B1'] = '年龄'ws['C1'] = '性别'ws['A2'] = '张三'ws['B2'] = 20ws['C2'] = '男'wb.save('example.xlsx') # 保存文件```在这个例子中,我们使用Workbook类创建了一个新的Excel文件,并获取了当前活动的工作表。
接着使用工作表的cell属性来设置单元格的值,最后使用save()方法保存文件。
2. 打开一个Excel文件```pythonfrom openpyxl import load_workbookwb = load_workbook('example.xlsx') # 打开已有的Excel文件ws = wb.active # 获取当前活动的工作表print(ws['A1'].value) # 输出单元格A1的值```在这个例子中,我们使用load_workbook()函数来打开一个已有的Excel文件,并获取了当前活动的工作表。
python处理excel文件(xls和xlsx)

python处理excel⽂件(xls和xlsx)⼀、xlrd和xlwt使⽤之前需要先安装,windows上如果直接在cmd中运⾏python则需要先执⾏pip3 install xlrd和pip3 install xlwt,如果使⽤pycharm则需要在项⽬的解释器中安装这两个模块,File-Settings-Project:layout-Project Interpreter,点击右侧界⾯的+号,然后搜索xlrd和xlwt,然后点击Install Package进⾏安装。
对于excel来说,整个excel⽂件称为⼯作簿,⼯作簿中的每个页称为⼯作表,⼯作表⼜由单元格组成。
对于xlrd和xlwt,⾏数和列数从0开始,单元格的⾏和列也从0开始,例如sheet.row_values(2)表⽰第三⾏的内容,sheet.cell(1,2).value表⽰第⼆⾏第三列单元格的内容。
1.xlrd模块读取excel⽂件使⽤xlrd模块之前需要先导⼊import xlrd,xlrd模块既可读取xls⽂件也可读取xlsx⽂件。
获取⼯作簿对象:book = xlrd.open_workbook('excel⽂件名称')获取所有⼯作表名称:names = book.sheet_names(),结果为列表根据索引获取⼯作表对象:sheet = book.sheet_by_index(i)根据名称获取⼯作表对象:sheet = book.sheet_by_name('⼯作表名称')获取⼯作表⾏数:rows = sheet.nrows获取⼯作表列数:cols = sheet.ncols获取⼯作表某⼀⾏的内容:row = sheet.row_values(i) ,结果为列表【sheet.row(i),列表】获取⼯作表某⼀列的内容:col = sheet.col_values(i) 结果为列表【sheet.col(i),列表】获取⼯作表某⼀单元格的内容:cell = sheet.cell_value(m,n)、 sheet.cell(m,n).value、sheet.row(m)[n].value,sheet.col(n)[m].value,结果为字符串或数值【sheet.cell(0,0),xlrd.sheet.Cell对象】⽰例:假设在py执⾏⽂件同层⽬录下有⼀fruit.xls⽂件,有三个sheet页Sheet1、Sheet2、Sheet3,其中Sheet1内容如下:import xlrdbook = xlrd.open_workbook('fruit.xls')print('sheet页名称:',book.sheet_names())sheet = book.sheet_by_index(0)rows = sheet.nrowscols = sheet.ncolsprint('该⼯作表有%d⾏,%d列.'%(rows,cols))print('第三⾏内容为:',sheet.row_values(2))print('第⼆列内容为%s,数据类型为%s.'%(sheet.col_values(1),type(sheet.col_values(1))))print('第⼆列内容为%s,数据类型为%s.'%(sheet.col(1),type(sheet.col(1))))print('第⼆⾏第⼆列的单元格内容为:',sheet.cell_value(1,1))print('第三⾏第⼆列的单元格内容为:',sheet.cell(2,1).value)print('第五⾏第三列的单元格内容为:',sheet.row(4)[2].value)print('第五⾏第三列的单元格内容为%s,数据类型为%s'%(sheet.col(2)[4].value,type(sheet.col(2)[4].value)))print('第五⾏第三列的单元格内容为%s,数据类型为%s'%(sheet.col(2)[4],type(sheet.col(2)[4])))# 执⾏结果# sheet页名称: ['Sheet1', 'Sheet2', 'Sheet3']# 该⼯作表有5⾏,3列.# 第三⾏内容为: ['梨', 3.5, 130.0]# 第⼆列内容为['单价/元', 8.0, 3.5, 4.5, 3.8],数据类型为<class 'list'>.# 第⼆列内容为[text:'单价/元', number:8.0, number:3.5, number:4.5, number:3.8],数据类型为<class 'list'>.# 第⼆⾏第⼆列的单元格内容为: 8.0# 第三⾏第⼆列的单元格内容为: 3.5# 第五⾏第三列的单元格内容为: 300.0# 第五⾏第三列的单元格内容为300.0,数据类型为<class 'float'># 第五⾏第三列的单元格内容为number:300.0,数据类型为<class 'xlrd.sheet.Cell'>xlrd读取excel⽰例可以看出通过sheet.row(i)、sheet.col(i)也可获取⾏或列的内容,并且结果也是⼀个列表,但是列表中的每⼀项类似字典的键值对,形式为数据类型:值。
python3读取、写入、追加写入excel文件

python3读取、写⼊、追加写⼊excel⽂件由于excel版本不同,python处理的时候选择的库页不同。
⼀、操作对应版本表格需要⽤到的库1、操作xls格式的表格⽂件,需要⽤到的库如下:读取:xlrd写⼊:xlwt修改(追加写⼊):xlutils2、操作xlsx格式的表格⽂件,需要⽤到的库如下:读取/写⼊:openpyxl(好像对于xlsx格式的表格,使⽤xlrd也是可以读取的,只是写⼊会有问题,不过避免问题还是根据不同格式的表格选择对应的库吧~)⼆、实现代码1、xlwt写⼊xls⽂件内容import xlwtdef write_excel_xls(path, sheet_name, value):index = len(value) # 获取需要写⼊数据的⾏数(value是个⼆维数组)workbook = xlwt.Workbook() # 新建⼀个⼯作簿sheet = workbook.add_sheet(sheet_name) # 在⼯作簿中新建⼀个表格for i in range(0, index):for j in range(0, len(value[i])):sheet.write(i, j, value[i][j]) # 像表格中写⼊数据(对应的⾏和列)workbook.save(path) # 保存⼯作簿print("xls格式表格写⼊数据成功!")# 保存到当前⼯程⽬录book_name_xls = 'xls格式测试⼯作簿.xls'sheet_name_xls = 'xls格式测试表'value_title = [["姓名", "性别", "年龄", "城市", "职业"],["111", "⼥", "66", "⽯家庄", "运维⼯程师"],["222", "男", "55", "南京", "饭店⽼板"],["333", "⼥", "27", "苏州", "保安"]]write_excel_xls(book_name_xls, sheet_name_xls, value_title)2、xlrd读取xls⽂件内容import xlrddef read_excel_xls(path):workbook = xlrd.open_workbook(path) # 打开⼯作簿sheets = workbook.sheet_names() # 获取⼯作簿中的所有表格worksheet = workbook.sheet_by_name(sheets[0]) # 获取⼯作簿中所有表格中的的第⼀个表格for i in range(0, worksheet.nrows):for j in range(0, worksheet.ncols):print(worksheet.cell_value(i, j), "\t", end="") # 逐⾏逐列读取数据print()book_name_xls = 'xls格式测试⼯作簿.xls'read_excel_xls(book_name_xls)3、追加写⼊xls表格内容import xlrdfrom xlutils.copy import copydef write_excel_xls_append(path, value):index = len(value) # 获取需要写⼊数据的⾏数workbook = xlrd.open_workbook(path) # 打开⼯作簿sheets = workbook.sheet_names() # 获取⼯作簿中的所有表格worksheet = workbook.sheet_by_name(sheets[0]) # 获取⼯作簿中所有表格中的的第⼀个表格rows_old = worksheet.nrows # 获取表格中已存在的数据的⾏数new_workbook = copy(workbook) # 将xlrd对象拷贝转化为xlwt对象new_worksheet = new_workbook.get_sheet(0) # 获取转化后⼯作簿中的第⼀个表格for i in range(0, index):for j in range(0, len(value[i])):new_worksheet.write(i+rows_old, j, value[i][j]) # 追加写⼊数据,注意是从i+rows_old⾏开始写⼊ new_workbook.save(path) # 保存⼯作簿print("xls格式表格【追加】写⼊数据成功!")book_name_xls = 'xls格式测试⼯作簿.xls'value1 = [["张三", "男", "19", "杭州", "研发⼯程师", 123, 234],["李四", "男", "22", "北京", "医⽣", 2352],["王五", "⼥", "33", "珠海", "出租车司机"]]write_excel_xls_append(book_name_xls, value1)4、使⽤openpyxl写⼊xlsx⽂件import openpyxldef write_excel_xlsx(path, sheet_name, value):index = len(value)workbook = openpyxl.Workbook() # 新建⼯作簿(默认有⼀个sheet?)sheet = workbook.active # 获得当前活跃的⼯作页,默认为第⼀个⼯作页sheet.title = sheet_name # 给sheet页的title赋值for i in range(0, index):for j in range(0, len(value[i])):sheet.cell(row=i + 1, column=j + 1, value=str(value[i][j])) # ⾏,列,值这⾥是从1开始计数的 workbook.save(path) # ⼀定要保存print("xlsx格式表格写⼊数据成功!")book_name_xlsx = 'xlsx格式测试⼯作簿.xlsx'sheet_name_xlsx = 'xlsx格式测试表'value3 = [["姓名", "性别", "年龄", "城市", "职业"],["111", "⼥", "66", "⽯家庄", "运维⼯程师"],["222", "男", "55", "南京", "饭店⽼板"],["333", "⼥", "27", "苏州", "保安"], ]write_excel_xlsx(book_name_xlsx, sheet_name_xlsx, value3)5、使⽤openpyxl读取xlsx⽂件 import openpyxldef read_excel_xlsx(path, sheet_name):workbook = openpyxl.load_workbook(path) # 读取xlsx⽂件sheet = workbook[sheet_name] # 获得指定名称的页for row in sheet.rows:for cell in row:print(cell.value, "\t", end="")print()book_name_xlsx = 'xlsx格式测试⼯作簿.xlsx'sheet_name_xlsx = 'xlsx格式测试表'read_excel_xlsx(book_name_xlsx, sheet_name_xlsx)# 读取单元格print(sheet.cell(1,1).value)6、使⽤openpyxl追加写⼊xlsx⽂件import openpyxldata = openpyxl.load_workbook('xlsx格式测试⼯作簿.xlsx')# 取第⼀张表sheetnames = data.get_sheet_names()table = data.get_sheet_by_name(sheetnames[0])table = data.activeprint(table.title) # 输出表名nrows = table.max_row # 获得⾏数ncolumns = table.max_column # 获得列数values = [['E', 'X', 'C', 'E', 'L'],[1, 2, 3, 4, 5],['a', 'b', 'c', 'd', 'e']]# 注意⾏业列下标是从1开始的for i in range(1, len(values)+1):for j in range(1, len(values[i-1])+1):table.cell(nrows+i, j).value = values[i-1][j-1] data.save('xlsx格式测试⼯作簿.xlsx')# values = ['E', 'X', 'C', 'E', 'L']# for value in values:# table.cell(nrows+1, 1).value = value# nrows = nrows + 1。
python openpyxl的用法

python openpyxl的用法openpyxl是一个用于操作Excel文件的Python库,它能够读取、修改和创建Excel文件,为数据处理和分析提供了便利。
本文将介绍openpyxl库的基本用法,并通过示例来演示它的功能。
一、安装openpyxl库要使用openpyxl库,首先需要安装它。
可以通过以下命令使用pip 来安装openpyxl库:```pip install openpyxl```二、读取Excel文件使用openpyxl库可以方便地读取Excel文件的内容。
下面是一个示例代码,演示了如何读取Excel文件并获取单元格的值:```pythonfrom openpyxl import load_workbook# 打开Excel文件workbook = load_workbook(filename="example.xlsx")# 选择要读取的工作表sheet = workbook["Sheet1"]# 读取指定单元格的值value = sheet["A1"].valueprint(value)```上述代码首先使用`load_workbook`函数打开了名为"example.xlsx"的Excel文件,然后通过指定工作表名称获取该工作表的对象。
接着使用`sheet["A1"].value`获取了"A1"单元格的值,并将其打印出来。
三、修改Excel文件openpyxl库不仅可以读取Excel文件,还可以对其进行修改。
下面是一个示例代码,演示了如何修改Excel文件并保存:```pythonfrom openpyxl import load_workbook# 打开Excel文件workbook = load_workbook(filename="example.xlsx")# 选择要修改的工作表sheet = workbook["Sheet1"]# 修改指定单元格的值sheet["A1"] = "Hello, openpyxl!"# 保存修改后的文件```上述代码首先使用`load_workbook`函数打开了名为"example.xlsx"的Excel文件,然后通过指定工作表名称获取该工作表的对象。
Python批量修改Excel文件格式_光环大数据培训

Python批量修改Excel文件格式_光环大数据培训功能描述:首先生成几个测试用的Excel文件,然后批量修改这些文件的格式,把表头加粗并设置为黑体,其他行字体为宋体,设置奇偶行颜色不同,并设置偶数行为从红到蓝的渐变背景色填充。
from random import sampleimpo ...Python Java Hadoop 培训 Excel功能描述:首先生成几个测试用的Excel文件,然后批量修改这些文件的格式,把表头加粗并设置为黑体,其他行字体为宋体,设置奇偶行颜色不同,并设置偶数行为从红到蓝的渐变背景色填充。
from random import sampleimport openpyxlfrom openpyxl.styles importFont, colorsdef generateXlsx(num): for i in range(num): wb =openpyxl.Workbook() ws = wb.worksheets[0] # 添加表头ws.append(['字段'+str(_) for _ in range(1,6)]) # 添加随机数据for _ in range(10): ws.append(sample(range(10000), 5))wb.save(str(i)+'.xlsx')def batchFormat(num): for i in range(num): fn =str(i)+'.xlsx' wb = openpyxl.load_workbook(fn) ws =wb.worksheets[0] for irow, row in enumerate(ws.rows, start=1):if irow == 1: # 表头加粗、黑体 font =Font('黑体', bold=True) elif irow%2 == 0: #偶数行红色,宋体 font = Font('宋体', color=colors.RED) else: # 奇数行浅蓝色,宋体 font = Font('宋体', color='00CCFF') for cell in row: cell.font = font # 偶数行添加背景填充色,从红到蓝渐变if irow%2 == 0: cell.fill =openpyxl.styles.fills.GradientFill(stop=['FF0000', '0000FF']) # 另存为新文件 wb.save('new'+fn)generateXlsx(5)batchFormat(5)为什么大家选择光环大数据!大数据培训、人工智能培训、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的基础知识,还有很多其他的功能和技巧可以使用。
openpyxl常用操作

openpyxl常用操作openpyxl是一个用于操作Excel文件的Python库,它提供了一系列常用的操作方法和功能,使得我们能够轻松地读取、写入和修改Excel文件。
本文将介绍openpyxl常用操作的一些功能和用法,帮助读者更好地使用这个强大的库。
1. 创建和打开Excel文件使用openpyxl,我们可以创建一个新的Excel文件或打开一个已存在的文件进行操作。
通过`Workbook()`函数可以创建一个新的工作簿对象,通过`load_workbook()`函数可以打开一个已存在的工作簿。
2. 读取和写入单元格数据openpyxl提供了许多方法来读取和写入单元格数据。
通过`sheet['A1'].value`可以读取A1单元格的值,通过`sheet['A1'] = 'Hello'`可以将'Hello'写入A1单元格。
3. 获取和设置单元格样式我们可以使用openpyxl来获取和设置单元格的格式和样式。
例如,通过`sheet['A1'].font`可以获取A1单元格的字体样式,通过`sheet['A1'].font = Font(size=12, bold=True)`可以设置A1单元格的字体大小为12且加粗。
4. 插入和删除行列使用openpyxl,我们可以插入或删除工作表中的行或列。
通过`sheet.insert_rows()`和`sheet.insert_cols()`可以插入行和列,通过`sheet.delete_rows()`和`sheet.delete_cols()`可以删除行和列。
5. 获取和设置工作表属性openpyxl还提供了许多方法来获取和设置工作表的属性。
例如,通过`sheet.title`可以获取工作表的名称,通过`sheet.title = 'Sheet1'`可以将工作表的名称设置为'Sheet1'。
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对excel文件的处理

python对excel⽂件的处理python处理excel⽂件有很多⽅法,最开始接触的是xlrd、xlsxwriter模块,分别⽤于excel⽂件的读、写。
后来⼜学习了openpyxl模块,可以同时完成excel⽂件的读、写。
再后来,接触了⼤⽜pandas,这是python中专门⽤于数据分析的模块,有更加强⼤的功能。
本⽂尝试梳理⼀下这⼏个⽅法,以实际案例来对⽐各种⽅法的优劣。
1. xlrd、xlsxwriter模块1import xlrd #读取excel⽂件2import xlsxwriter #写⼊excel⽂件3 file_name = r'C:/2020/python-exer/excel_doc/time_fmt.xls' #存在⼀个excel⽂件,⽤于读4 file_name1 = r'C:/2020/python-exer/excel_doc/time_fmt_output.xls' #新建⼀个excel⽂件,⽤于写5# 读取excel⽂件,按⾏读取数据,每⾏数据对应⼀个列表元素6def excel_lines():7 wb = xlrd.open_workbook(file_name)8# 打开Excel⽂件9 sheet1 = wb.sheet_by_name('Sheet1') # 通过excel表格sheet名称获取⼯作表10 dat = [] # 创建空list11 Max_lines = sheet1.nrows # sheet1数据最⼤⾏数,即便每列元素不同。
12print(Max_lines)13for a in range(Max_lines):14 cells = sheet1.row_values(a) # 每⾏数据赋值给cells15 dat.append(cells)16return datView Code#>>>[['序号', '时间格式定义'], [1.0, '%a Locale’s abbreviated weekday name. '],[2.0, '%A Locale’s full weekday name. '],……从输出内容看出,得到的是⼀个嵌套list,每⾏数据对应着⼀个list元素。
python使用openpyxl库修改excel表格数据方法

python使⽤openpyxl库修改excel表格数据⽅法1、openpyxl库可以读写xlsx格式的⽂件,对于xls旧格式的⽂件只能⽤xlrd读,xlwt写来完成了。
简单封装类:from openpyxl import load_workbookfrom openpyxl import Workbookfrom openpyxl.chart import BarChart, Series, Reference, BarChart3Dfrom openpyxl.styles import Color, Font, Alignmentfrom openpyxl.styles.colors import BLUE, RED, GREEN, YELLOWclass Write_excel(object):def __init__(self,filename):self.filename = filenameself.wb = load_workbook(self.filename)self.ws = self.wb.activedef write(self, coord, value):# eg: coord:A1self.ws.cell(coord).value = valueself.wb.save(self.filename)def merge(self, rangstring):# eg: rangstring:A1:E1self.ws.merge_cells(rangstring)self.wb.save(self.filename)def cellstyle(self, coord, font, align):cell = self.ws.cell(coord)cell.font = fontcell.alignment = aligndef makechart(self, title, pos, width, height, col1, row1, col2, row2, col3, row3, row4):''':param title:图表名pos:图表位置width:图表宽度height:图表⾼度'''data = Reference(self.ws, min_col=col1, min_row=row1, max_col=col2, max_row=row2)cat = Reference(self.ws, min_col=col3, min_row=row3, max_row=row4)chart = BarChart3D()chart.title = titlechart.width = widthchart.height = heightchart.add_data(data=data, titles_from_data=True)chart.set_categories(cat)self.ws.add_chart(chart, pos)self.wb.save(self.filename)简单使⽤:1、新建excel⽂件处理wb = Workbook()#创建⼯作簿ws = wb.active#激活⼯作表ws1 = wb.create_sheet("Mysheet")#创建mysheet表ws.title = "New Title"#表明改为New Titlews.sheet_properties.tabColor = "1072BA"#颜⾊ws['A4'] = 4#赋值d = ws.cell(row=4, column=2, value=10)#赋值cell_range = ws['A1':'C2']#选择单元格区域wb.save('test.xlsx')#保存2、已有excel⽂件的处理a、修改excel数据wr = Write_excel('d:\demo.xlsx')wr.write('A2','hello')b、合并单元格wr.merge('A1:B3')c、单元格加⼊样式,如字体,颜⾊等属性单元格B2设置宋体,14号,红⾊,⾃动换⾏,⽔平居中,垂直居中font = Font(name=u'宋体', size=14, color=RED, bold=True)align = Alignment(horizontal='center', vertical='center')wr.cellstyle('B2', font, align)d、创建3d柱状图rows = [(None, 2013, 2014),("Apples", 5, 4),("Oranges", 6, 2),("Pears", 8, 3)]for row in rows:ws.append(row)wr.makechart(u"3D Bar Chart", 'E5', 12.5, 7, 2, 1, 3, 4, 1, 2, 4)可以创建3d柱状和折线图表,挺好⽤的。
使用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会⾃动转换为不同的类型,有些表格中会有中⽂出现,就需要进⾏相应的转码。
xlwt的用法

xlwt的用法xlwt是一个Python库,用于操作Excel文件,可以实现创建、修改和保存Excel文件的功能。
在本文中,我们将介绍如何使用xlwt库来实现这些操作。
一、安装xlwt库在开始使用xlwt之前,我们首先需要安装它。
我们可以使用pip来完成安装,只需要在命令行中输入以下命令:```pip install xlwt```安装完成后,我们就可以开始使用xlwt库了。
二、创建Excel文件使用xlwt库创建新的Excel文件非常简单。
下面的代码演示了如何创建一个新的Excel文件,并添加一个工作表:```pythonimport xlwt# 创建一个工作簿workbook = xlwt.Workbook()# 添加一个工作表worksheet = workbook.add_sheet('Sheet1')# 写入数据worksheet.write(0, 0, 'Hello')worksheet.write(0, 1, 'World')# 保存文件workbook.save('example.xls')```在上面的代码中,我们首先导入了xlwt库,然后创建了一个工作簿对象workbook。
接着,我们使用`add_sheet`方法添加了一个名为'Sheet1'的工作表,并保存到名为'example.xls'的文件中。
最后,我们使用`write`方法在工作表中写入了数据。
三、修改Excel文件除了创建新的Excel文件,xlwt库还可以用来修改已有的Excel文件。
下面的代码演示了如何打开一个已存在的Excel文件,并修改其中的数据:```pythonimport xlwtfrom xlrd import open_workbookfrom xlutils.copy import copy# 打开Excel文件rb = open_workbook('example.xls')# 创建可写的副本wb = copy(rb)# 选择要修改的工作表worksheet = wb.get_sheet(0)# 修改数据worksheet.write(1, 0, 'Python')worksheet.write(1, 1, 'Programming')# 保存文件wb.save('example.xls')```在上面的代码中,我们首先导入了xlwt库的相关模块,以及xlrd库的`open_workbook`函数用于打开已存在的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维列表。
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 openpyxl使用方法

python openpyxl使用方法openpyxl是一个用于处理Excel文件的Python库,它可以读取、修改和创建Excel文件。
下面是openpyxl库的一些常用方法和使用示例:1. 导入openpyxl库pythonimport openpyxl2. 打开Excel文件pythonwb = openpyxl.load_workbook('example.xlsx')3. 获取工作表pythonsheet = wb['Sheet1'] # 使用工作表名称# 或者sheet = wb.active # 使用活动的工作表4. 读取单元格的值pythonvalue = sheet['A1'].value # 读取A1单元格的值# 或者value = sheet.cell(row=1, column=1).value # 读取第1行、第1列的单元格的值5. 写入单元格的值pythonsheet['A1'] = 'Hello World' # 写入A1单元格的值为'Hello World'# 或者sheet.cell(row=1, column=1, value='Hello World') # 写入第1行、第1列的单元格的值为'Hello World'6. 保存Excel文件pythonwb.save('example.xlsx')这只是openpyxl库的一小部分功能,它还提供了许多其他方法和属性以处理更复杂的Excel文件操作,例如合并单元格、设置样式等。
详细的使用方法可以参考openpyxl的官方文档。
python xlutils 用法

python xlutils 用法Python xlutils 是一个基于 xlrd、xlwt 的 Python 库,可以用来在 Excel 文件中进行读取、修改、写入操作。
在本文中,我们将介绍 Python xlutils 库的用法,主要包括如下内容:1. 安装 Python xlutils 库2. 打开 Excel 文件3. 读取 Excel 文件4. 修改 Excel 文件5. 写入 Excel 文件6. 示例代码要安装 Python xlutils 库,可以使用 pip 工具,在命令行中输入以下命令:```pip install xlutils```注意:安装前请确保已经安装了 xlrd、xlwt 这两个库。
2. 打开 Excel 文件使用 xlutils 库打开 Excel 文件,可以使用下面的代码:```pythonfrom xlrd import open_workbookfrom xlutils.copy import copy# 打开 Excel 文件wb = open_workbook('file.xlsx')# 创建一个可写的副本wb_copy = copy(wb)```使用 open_workbook 函数可以打开 Excel 文件,创建一个 Workbook 对象,后面我们可以根据 Workbook 对象进行读取、修改、写入等操作。
通过 copy 函数,我们可以创建一个可写的副本,用于修改 Excel 文件。
读取 Excel 文件通常是访问工作簿、工作表和单元格中的数据。
使用 xlrd 库可以轻松读取 Excel 文件中的数据。
下面我们演示读取 Excel 文件的过程的代码片段:```python# 获取第一个工作表sheet = wb.sheet_by_index(0)# 获取工作表的行数和列数rows = sheet.nrowscols = sheet.ncols# 读取单元格数据cell_value = sheet.cell_value(row, col)```使用 sheet_by_index 函数可以获取工作表对象,然后我们可以使用 nrows 和ncols 函数获取工作表的行数和列数,使用 cell_value 函数获取单元格中的数据。