#xlsx和 xls
#一:openpyxl 只能读取xlsx 推荐使用的二种方法
#因为excle文件中可以有多个编排 故可以返回字典
#该方法只适应于xlsx文件,不能处理xls文件
'''
from openpyxl.reader.excel import load_workbook
def readXlsxFile(path):
dic={}
#打开文件
file=load_workbook(filename=path)
#所有表格的名称,返回的是一个列表
#print(file.get_sheet_names())
sheets=file.get_sheet_names()
#拿出一个表格
for sheetName in sheets:
sheet=file.get_sheet_by_name(sheetName)
#一张表所有数据
sheetInfo=[]
#读取数据
for lineNum in range(1,sheet.max_row+1):#行数从1开始
linelist=[]
for columnNum in range(1,sheet.max_column+1):
#拿数据
value=sheet.cell(row=lineNum,column=columnNum).value
#if 根据实际情况
if value!=None:
linelist.append(value)
sheetInfo.append(linelist)
#将一张表的数据存到字典
dic[sheetName]=sheetInfo
sheet=file.get_sheet_by_name(sheets[0])
#最大行数
#print(sheet.max_row)
#最大列数
#print(sheet.max_column)
#表名
#print(sheet.title)
path=r'I:\1.xlsx'
readXlsxFile(path)
'''
#二:读取Xlsx和xls的内容 ,但只能写xls#需要安装,xlrd,future,xlwt-future,pyexcel-io,ordereddict,pyexcel,pyexcel-xls
'''
from collections import OrderedDict #有序字典
from pyexcel_xls import get_data#读取数据
def readXlsAndXlsxFile(path):
dic=OrderedDict()
#抓取数据
xdata=get_data(path) #返回全部表格数据
for sheet in xdata: #xdata的内容可以以sheet表的形式拿出
dic[sheet]=xdata[sheet]
return dic
path=r'I:\1.xlsx'
print(readXlsAndXlsxFile(path))
'''
#三:写入xls文件,只能写如xls,data格式固定
from collections import OrderedDict #有序字典
from pyexcel_xls import save_data#读取数据
def makeExcelFile(path,data):
dic=OrderedDict()
for sheetName,sheetValue in data.items():
d={}
d[sheetName]=sheetValue
dic.update(d)
save_data(path,dic)
path=r'I:\1.xls'
data={'表一':[[1,2,3],[4,5,6],[7,8,9]],'表二':[[11,12,13],[14,15,16],[17,18,19]]}
makeExcelFile(path,data)
import win32com
import win32com.client
def makePPT(path):
ppt=win32com.client.Dispatch('PowerPoint.Application')
ppt.Visible=True
#增加一个文件
pptFile=ppt.Presentations.Add()
#创建一页 Add(参数一,参数二) 参数一为页数(从一开始),参数二为类型(为新建的类型格式)
page1=pptFile.Slides.Add(1,1)
t1=page1.Shapes[0].TextFrame.TextRange #page1.Shapes 获取到ppt的框,Range获得到这个输入的位置
t1.Text='Sunck'
t2=page1.Shapes[1].TextFrame.TextRange #page1.Shapes 获取到ppt的框,Range获得到这个输入的位置
t2.Text='Sunck is good man'
#创建第二页
page2=pptFile.Slides.Add(2,1)
t3=page1.Shapes[0].TextFrame.TextRange #page1.Shapes 获取到ppt的框,Range获得到这个输入的位置
t3.Text='Sunck'
t4=page1.Shapes[1].TextFrame.TextRange #page1.Shapes 获取到ppt的框,Range获得到这个输入的位置
t4.Text='Sunck is good man'
#保存
pptFile.SaveAs(path)
#关闭ppt文件
pptFile.Close()
#关闭ppt的初始化
ppt.Quit()
path=r'I:\1.pptx'
makePPT(path)