python 写入excel 日期_利用python写入、生成excel、word

1,模块的安装

python处理excel需要用到的模块为openpyxl,安装方法:

pip install openpyxl

处理word时需要用到的模块为docx,安装方法:

pip install python-docx

下面先介绍openpyxl的基本用法

2,openpyxl操作excel表格

(1)读取excel表格

先导入load_workbook函数

from openpyxl import load_workbook

此次用来测试的文档:

excel_file_name = "输入\\风荷载作用下的弯矩.xlsx"

文档内容大致如下:

4c2be897080b722ddee324e3e8e5cce3.png

接下来加载excel文档

wb = load_workbook(excel_file_name)print(wb.sheetnames) #打印表单名称

如果打印出表单名称则加载成功

要读取某一表单要用

sheet =  wb['Sheet1']

读取表单Sheet1 某个单元格的数值:

cell = sheet.cell(row=row, column=column)value = cell.value

如:

from openpyxl import load_workbookexcel_file_name = "输入\\风荷载作用下的弯矩.xlsx"wb = load_workbook(excel_file_name)print(wb.sheetnames) #打印表单名称sheet =  wb['Sheet1']cell = sheet.cell(row=1, column=1)print(cell.value)

输出为

['Sheet1']梁端弯矩输入

这样就读出了我们上面excel表格中第一行第一列的数值。

row为单元格所在行数,column为列数。这时与我们平时的编程习惯不同,row和column必须大于等于1,不然会报错。

cell = sheet.cell(row=0, column=1)print(cell.value)

输出:

    cell = sheet.cell(row=0, column=1)  File "C:\ProgramData\Anaconda3\lib\site-packages\openpyxl\worksheet\worksheet.py", line 238, in cell    raise ValueError("Row or column values must be at least 1")ValueError: Row or column values must be at least 1

读取某一列的数据:

datas = list(sheet.columns)[1] #读取第二列的数据print(datas)

输出

('Sheet1'.B1>, 'Sheet1'.B2>, 'Sheet1'.B3>, 'Sheet1'.B4>, 'Sheet1'.B5>, 'Sheet1'.B6>, 'Sheet1'.B7>, 'Sheet1'.B8>, 'Sheet1'.B9>, 'Sheet1'.B10>, 'Sheet1'.B11>, 'Sheet1'.B12>, 'Sheet1'.B13>, 'Sheet1'.B14>, 'Sheet1'.B15>, 'Sheet1'.B16>, 'Sheet1'.B17>, 'Sheet1'.B18>, 'Sheet1'.B19>, 'Sheet1'.B20>, 'Sheet1'.B21>, 'Sheet1'.B22>, 'Sheet1'.B23>, 'Sheet1'.B24>, 'Sheet1'.B25>, 'Sheet1'.B26>, 'Sheet1'.B27>, 'Sheet1'.B28>, 'Sheet1'.B29>, 'Sheet1'.B30>, 'Sheet1'.B31>, 'Sheet1'.B32>, 'Sheet1'.B33>, 'Sheet1'.B34>, 'Sheet1'.B35>, 'Sheet1'.B36>, 'Sheet1'.B37>, 'Sheet1'.B38>, 'Sheet1'.B39>, 'Sheet1'.B40>, 'Sheet1'.B41>, 'Sheet1'.B42>, 'Sheet1'.B43>, 'Sheet1'.B44>, 'Sheet1'.B45>, 'Sheet1'.B46>, 'Sheet1'.B47>, 'Sheet1'.B48>, 'Sheet1'.B49>, 'Sheet1'.B50>, 'Sheet1'.B51>, 'Sheet1'.B52>, 'Sheet1'.B53>, 'Sheet1'.B54>, 'Sheet1'.B55>, 'Sheet1'.B56>, 'Sheet1'.B57>, 'Sheet1'.B58>, 'Sheet1'.B59>, 'Sheet1'.B60>, 'Sheet1'.B61>, 'Sheet1'.B62>)

可以看见返回的是Cell类型的数据,可以用上面读取单元格的方法读取每一个数据的代表的数值

datas = list(sheet.columns)[1]for data in datas:  print(data.value)

输出:

ffd88806dc2e51d63d26576741a72569.png

可以看出我们已经把表单第二列的数据读取出来了。

同时某一行的数据我们可以用datas = list(sheet.rows)[row_id]

(2)生成excel表格

要引入Workbook模块

from openpyxl import Workbookwb = Workbook()ws = wb.active# 数值写入ws["A2"] = "自定义的数值"ws.title = "自定义的表单名称"wb.save("自定义的excel文件.xlsx")

下面介绍python-docx的基本用法

from docx import Document

(1)生成word文档并写入:

def creat_word(filename):  doc = Document()  doc.add_heading(time.ctime()) #写入header  doc.save(filename)

写入文字:

doc.add_paragraph("你所要输入的文字",style="List Bullet")

插入图片:

from docx.shared import Inchesdoc.add_picture(picpath,width=Inches(6.25)) #Inches是用来固定插入图片的宽度

(2)打开已有文档并写入

doc = Document(filename) #filename 要打开的文件名

然后写入方式跟上面的教程一样。

-----------------END-----------------

print("快点关注我")

87d8813bb709e9f32f80818a692605f5.png

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页