python调用excel
❶ python excel操作 python操作excel方法
1、配置好python环境变量,这里使用的是python3。
2、环境变量中配置好pip工具,安装python调用excel所需要的驱动都是通过pip进行安装的。
3、安装xlrd模块
命令:pip install xlrd。
4、安装xlwt模块
命令:pip install xlwt。
5、验证xlrd模块,用import导入如果没报错就表明安装正常。
6、验证xlwt模块,用import导入如果没报错就表明安装正常。
❷ Python操作Excel实现自动化报表
Python操作Excel实现自动化报表
安装
python -m pip install xlrd xlwt xlutils。
基本用法
1.从指定文件路径读取excel表格,进行一定操作,然后保存到另一个excel文件:result.xlsx
import xlwt
import xlrd
from xlutils. import
import pandas as pd
from pandas import DataFrame,Series
import os
os.chdir('./')
# 从指定文件路径读取excel表格
df = pd.read_excel('D:/mypaper/data/data.xlsx')
# 查看df内容
# 根据age算出出生年份,增加一列
import datetime
import os
year = datetime.datetime.now().year#获取当前系统时间对应的年份
df['birth'] = year-df['age']
df.to_excel('result.xlsx')#保存到当前工作目录,可以用os.getcwd()查看
#查看下此时df的内容,可以看到已经生成了birth这一列。
2.单元格操作
# 定义方法:读取指定目录下Excel文件某个sheet单元格的值
def excel_read(file_path,table,x,y):
data = xlrd.open_workbook(file_path)
table = data.sheet_by_name(table)
return table.cell(y,x).value
# 定义方法:单元格值及样式
write_obj_list = []
def concat_obj(cols,rows,value):
write_obj_list.append({'cols':cols,'rows':rows,'value':value,
'style':xlwt.easyxf('font: name 宋体,height 280;alignment: horiz centre')})
# 定义方法:合并单元格
def merge_unit(srows,erows,scols,ecols,value):
write_obj_list.append({'id':'merge','srows':srows,'erows':erows,'scols':scols,
'ecols':ecols,'value':value,'style':xlwt.easyxf('font: name 宋体,height 280;alignment: horiz centre')})
# 定义方法:更新excel
excel_update(file_path,write_obj_list,new_path):
old_excel = xlrd.open_workbook(file_path, formatting_info=True)
#管道作用
new_excel = (old_excel)
'''
通过get_sheet()获取的sheet有write()方法
'''
sheet1 = new_excel.get_sheet(0)
'''
1代表是修改第几个工作表里,从0开始算是第一个。此处修改第一个工作表
'''
for item in write_obj_list:
if 'id' not in item.keys():
if 'style' in item.keys():
sheet1.write(item['rows'], item['cols'], item['value'],item['style'])
else:
sheet1.write(item['rows'], item['cols'], item['value'])
else:
if 'style' in item.keys():
sheet1.write_merge(item['srows'],item['erows'],item['scols'], item['ecols'], item['value'],item['style'])
else:
sheet1.write_merge(item['srows'],item['erows'],item['scols'], item['ecols'], item['value'])
'''
如果报错 dict_items has no attributes sort
把syle源码中--alist.sort() 修改为----> sorted(alist)
一共修改2次
'''
new_excel.save(file_path)
#参数详解
# srows:合并的起始行数
# erows:合并的结束行数
# scols:合并的起始列数
# ecols:合并的结束列数
# value:合并单元格后的填充值
# style:合并后填充风格:
# font: name 宋体
# height 280;
# alignment: horiz centre
# ... 与excel操作基本保持一致
(注意:该方法仅仅是将需要直行的动作保存到一个list中,真正的动作还未执行,执行动作是发生在excel_update方法中)
最终调用excel_update方法,传入每个单元格需要进行的操作和填充值的write_obj_list以及文件保存路径file_path,就可以在当前工作目录下生成想要的Excel结果文件。
注意:
1.write_obj_list支持用户自定义
2.write_obj_list也可以是根据excel_read方法读取现有待修改的excel文件(可以维持原有表格的格式)而生成
End
❸ python能在excel运行吗
Python部落组织翻译, 禁止转载
【介绍】
ExclePython是一款轻量级的COM库,它支持你从Excel VBA中调用Python代码和运行Python 其他功能(确实任何语言都支持COM)。这篇文章我将展示你如何去使用它。
【背景】
虽然excel的市场地位正日益面临免费的(OpenOffice)和云软件(Google Sheets)的挑战和逐渐取代的风险,但是Excel依然是现在办公环境中,使用范围最广、用户界面友好的数据处理软件。能够实现从Excel中调用python,得益于Excel拥有庞大收集能力的库和强大的语言能力。ExcelPython 是一款处理性的COM库,它能让你加载python模块,调用程序和运行函数。另外一些Excel/Python接口工具,例如PyXLL和Python-Excel,它们同样都是很优秀的工具,只是与ExcelPython在功能上和适用性上有些微差别。ExcelPython的优势有:
1. 免费(不用购买和免费协议)
2. 小而轻
3. 高度嵌入:似乎采用已经打包好的python函数,所以可以在不安装python情况下表格程序可以扩展使用;
4. 对最终用户高度透明:python由Excel VBA调用所以没有不需要其他另外的中间程序插入,即使是表格程序已经升级了;
5. 通用性:任何存在的Python模块和函数都可以调用,以及任何Python对象都可以被处理,另外,ExcelPython不必写入额外的Python代码来做可调用的函数,可以直接调用Python的的各种库;
【使用代码】
如果你想了解最基本的关于如何使用这个库的功能的话,直接登录ExcelPython在SourceForge的网友,那里你会找到一个维基条目,可以一步步指引你如何操作。
在本章介绍中,我们将展示下利用ExcelPython去合并收集到的列表,排列他们的数据以及删除任意副本。这是一个非常简单的python任务,只需要几行代码,而如果用VBA代码来实现同样功能则需要更多的代码。
❹ python如何操作当前已经打开的excel
读取一个Excel的基本流程
1. 双击打开一个Excel文件
2. 选择sheet
3. 对sheet里面的东西进行操作
在python中我们使用第三方模块 openpyxl模块操作Excel
ps:这个模块不是python自带的 是第三方模块需要我们下载的
进入终端输入: pip install openpyxl
如果想要下载快点:网络搜索 python第三方源
from openpyxl import load_workbook
# 1. 打开Excel文件
workbook = load_workbook("p1.xlsx")
# 2. 选择sheet
# 2.1 获取所有sheet
# print(workbook.sheetnames)
# 2.2 选择sheet
sheet = workbook["Sheet1"]
print(sheet.max_row) # 最大行号
print(sheet.max_column) # 最大列号
# 2.3 我们选择了sheet后就可以去操作数据了
# cell = sheet.cell(1, 1) # 获取到单元格
# print(cell.value)
sheet 相关操作
from openpyxl import load_workbook
# 1. 打开Excel文件
workbook = load_workbook("p1.xlsx")
# 2. 选择sheet
# 2.1 获取所有sheet
# print(workbook.sheetnames)
# 2.2 选择sheet
# sheet = workbook["Sheet1"]
# 2.3 基于索引的方式获取sheet
# sheet = workbook.worksheets[0]
# 3. 获取到所有的sheet
# for name in workbook.sheetnames:
# sheet = workbook[name]
# cell = sheet.cell(1, 1)
# print(cell.value)
读单元格的数据
from openpyxl import load_workbook
# 1. 打开Excel文件
workbook = load_workbook("p1.xlsx")
# 2 获取sheet
sheet = workbook.worksheets[0]
# 获取到第N行第N列的单元格
# cell = sheet.cell(1, 2)
# print(cell.value)
# 获取到某个单元格
# cell = sheet['A2']
# print(cell.value)
# print()
# for cell in sheet[1]: # 获取到第一行的内容
# print(cell.value)
# 获取到所有的行的数据 获取到一列的值
# for row in sheet.rows:
# print(row[0].value)
# 获取到所有的列的数据 获取到一行的值
for col in sheet.columns:
print(col[0].value)
写Excel
# 在Excel中想要写文件 大致可以分为两种
# 1. 在原有的Excel的基础上写内容
# 2. 在一个新的Excel里面写内容
1. 打开Excel表格
2. 找到单元格 修改写入内容
3. 保存
# from openpyxl import load_workbook
#
# # 1. 打开Excel文件
# workbook = load_workbook("p1.xlsx")
# # 2 获取sheet
# sheet = workbook.worksheets[0]
#
# # 获取到第N行第N列的单元格
# # cell = sheet.cell(1, 2)
# # print(cell.value)
#
# # 获取到某个单元格
#
# # cell = sheet['A2']
# # print(cell.value)
#
# # print()
# # for cell in sheet[1]: # 获取到第一行的内容
# # print(cell.value)
#
#
# # 获取到所有的行的数据 获取到一列的值
# # for row in sheet.rows:
# # print(row[0].value)
#
# # 获取到所有的列的数据 获取到一行的值
# for col in sheet.columns:
# print(col[0].value)
# from openpyxl import workbook
# wb = workbook.Workbook() # 创建一个Excel会默认有一个sheet 就叫 Sheet
# 1. 修改sheet名称
# sheet = wb.worksheets[0]
# sheet.title = '数据集'
# wb.save('p2.xlsx')
# 2. 创建一个新的sheet 还可以设置颜色
# sheet = wb.create_sheet('工作计划', 1)
# sheet.sheet_properties.tabColor = 'FFB6C1'
# wb.save('p2.xlsx')
# 3. sheet
# sheet = wb.create_sheet('工作计划')
# sheet.sheet_properties.tabColor = 'FFB6C1'
#
# new_sheet = wb._worksheet(wb['Sheet'])
# new_sheet.title = '新的计划'
# wb.save('p2.xlsx')
# print(wb.sheetnames)
# sheet = wb.worksheets[0]
# cell = sheet.cell(1, 1)
# cell.value = '哈哈哈'
#
# wb.save('p2.xlsx')
from openpyxl import load_workbook
# 1. 打开Excel文件
workbook = load_workbook("p2.xlsx")
# 2 获取sheet
sheet = workbook.worksheets[0]
# 1. 获取某个单元格 修改值
# cell = sheet.cell(1, 1)
# cell.value = '哈哈哈'
# wb.save('p2.xlsx')
# 2. 获取某个单元格 修改值
# sheet['B3'] = '光'
# workbook.save('p2.xlsx')
# cell_list = sheet["B2": 'C3']
# for row in cell_list:
# for cell in row:
# cell.value = '新的值'
# workbook.save('p1.xlsx')
for row in sheet.iter_rows(min_row=5, min_col=1, max_col=7, max_row=10):
for cell in row:
cell.value = 'oo'
workbook.save('p1.xlsx')
r row in sheet.iter_rows(min_row=5, min_col=1, max_col=7, max_row=10):
for cell in row:
cell.value = ‘oo’
workbook.save(‘p1.xlsx’)
❺ mac上用python导入excel
mac上用python导入excel具体步骤。
1、引用第三方库:进入python环境路径下,使用终端进入该路径。如找不到该路径,可以直接复制pycharm中的python环境路径,在finder搜索,会展示该路径下的文件,右键退回上层文件夹,就能找到安装路径了。安装pythonExcel库中的xlwt/xlrd库,用于写入和读取Excel文件。
2、在指定目录下创建Excel文件。
3、在Excel中添加行或者列。命令行:sheet.write(行,列,value)。该位置的行与列,以0开始为第一行,第一列,如:sheet.write(0,0,序号),表示在Excel的第一行第一列写下字符串:序号。
4、读取Excel中的数据:读取表格中某一行,某一列的数据。读取表格中全部数据。
❻ Python中操作Excel最好用的模块是
Python中的模块也称为库,在Python中操作Excel的模块有很多。
优缺点如下:
**1、Pandas模块**
Pandas是Python的一一个开源数据分析模块,可用于数据挖掘和数据分析,同时也提供数据清洗功能,可以说它是日前Python数据分析的必备工具之一。Pandas能够处理类似电子表格的数据,用于数据快速加载、操作、对齐、合并、数据预处理等。
Pandas通过对Excel文件的读写实现数据输入、输出,Pandas支持.xls和.xlsx格式文件的读写,支持只加载每个表的单一工作页。
import pandas as pd
df=pd.read_excel(r'E:ban.xlsx') #pandas 导入库获取excel表的数据内容
df`
**2、xlwings模块**
xlwings模块可以实现Python中调用Excel,也可以从Excel调用Python,这个模块支持支持.xls和.xlsx格式文件的读写,支持对这类文件的操作,还支持使用VBA,具有强大的转换功能,并且可以处理大部分数据类型。
**3、Xlrd模块**
xlrd模块可以读取Excel文件,其对Excel文件的读取可以实现比较精细的控制。虽然现在使用Pandas模块读取和保存Excel文件往往更加方便快捷,但在某些场景下,依然需要xlrd这种更底层的模块来实现对Excel文件读取的控制。
xlrd模块支持.xls、.xlsx格式文件的读取,但不支持写信息。
**4、xlwt模块**
前面xlrd模块可以读取Excel文件,但不能写。而xlwt模块可以写、可以修改Excel文件,但不能读,且只支持.xls格式文件的写操作。
**5、xlutils模块**
xlutils也是一个处理Excel文件的模块,但它不能对Excel文件进行读和写的操作,但依赖于xlrd模块和xlwt模块。xlutils模块支持.xls格式文件,不支持.xlsx格式文件。
**6、openpyxl模块**
openpyxl模块可以对.xlsx格式的Excel文件进行读写操作,特点是读取快、写入慢,且不能操作.xls格式文件。
**7、xlsxwriter模块**
xlsxwriter模块支持多种Excel功能,可以写.xlsx格式的Excel文件,而且速度快、占用内存空间小,但不支持读或者修改现有的Excel文件。
**8、win32com模块**
win32com模块支持.xls、.xlsx格式的Excel文件的读、写和修改,读写速度快。但win32com模块存在于pywin32的模块中,自身没有完善的文档,使用起来不太方便。
**9、分析总结**
Pandas模块把Excel当作数据读写的容器,为其强大的数据分析服务,因此读写性能的表现中规中矩。xlwings和win32com这两个模块都拥有很好的读写性能,强大的转换器可以处理大部分数据类型,同时,可以在程序运行时,在打开的Excel文件中进行实时操作,实现过程的可视化。另外,xlwings模块的数据结构转换器使其可以快速地为Excel文件添加二维数据结构,而不需要在Excel文件中重定位数据的行和列,因此笔者认为,从读写的便捷性来看,xlwings模块比较好用一些。
❼ python处理excel教程是什么
python处理excel教程:首先打开pycharm工具,创建python项目;然后新建python文件,依次导入openpyxl、xlrd和xlwt,并定义函数;接着向excel插入数据;最后调用函数加载数据即可。
python处理excel教程:
1、打开pycharm工具,创建一个python项目,并打开项目
2、在指定文件夹下,新建python文件,依次导入openpyxl、xlrd和xlwt
3、定义函数write_data,创建excel的sheet页,然后向excel插入数据
4、再定义设置excel文档格式样式函数setExcelStyle,传入几个参数
5、判断__name__是否等于__main__,调用函数write_data()
6、保存代码并运行python文件,查看是否生成sales.xlsx文件
7、使用openpyxl模块中的load_workbook()方法,加载sales.xlsx文件
8、获取对应sheet页,然后获取对应单元格的值
以上就是小编分享的关于python处理excel教程是什么的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
❽ 如何在python中打开excel
用一些Python软件包
比如openpyxl,xlrd,xlwt等
第一步:安装Python 去官网下载安装包!
第二步:在命令行(Windows系统 cmd,Linux系统 终端)安装openpyxl
命令行输入:pip install openpyxl
系统从网上下载自动安装 稍等即可
第三步:在py文件中调用 opepyxl