项目一:python数据分析项目之办公自动化——Excel到Word文档的展示

项目背景:老板需要你提供抖音平台上,男士护肤品牌的带货视频

已有数据包括:

其中每张表包含内容如下:

 1.需求构思:要完成这个需求,需要考虑哪些方面 

   内容构思: 品牌信息(品牌名称)

                      带货视频标题

                      视频数据

                      视频的达人

                      视频脚本

2.所需要哪些工具 

对于Excel而言,使用python中的pandas即可

对于word而言,通过搜索引擎,发现常用的是python-docx的第三方库,具体所需方法如下(由官方的python-docx得知需要用到以下函数)

结构:                操作:                     方法:

品牌名称        样式为标题1            add_heading

视频标题        样式为标题2            add_heading

视频脚本        样式为正文              add_paragragh

3.代码实现(均在jupyter book中运行)

3.1 第一版(即一个样例-----结果见于demo1)
from docx import Document
document= Document()#相当于构建了一个空的document,之后对空的document进行操作
document.add_heading('罗杰夫',level=1)
document.add_heading('答应我,不做臭男人#糟糕是心动的感觉 #恋爱的感觉 @小奈奈✈️ #男神必备 #颜值爆表 ',level=2)
document.add_paragraph('好香的所有风云一次大步往前走')
document.save('demo1.docx')

首先明确每一条数据的样例应该是什么样子的,结果如下:

3.2第二版(按照第一版的样例得到所有数据结果--结果见于demo2)
import pandas as pd
#数据读取与处理
#读入数据表格,注意字段类型是否正确、是否被改变
video_list=pd.read_excel('video_list.xlsx')
speech_text=pd.read_excel('speech_text.xlsx')
#检查字段类型
video_list.info()
speech_text.info()
#id类型为int64,最好为str/object类型
video_list['AwemeId']=video_list['AwemeId'].astype(str)
speech_text['VideoId']=speech_text['VideoId'].astype(str)
#将两个表拼接在一起
merge=pd.merge(video_list,speech_text,how='inner',left_on='AwemeId',right_on='VideoId')
#开始数据处理
document=Document()
#访问数据
for i in range(len(merge)):
    #print(merge.iloc[i]['品牌'])
    document.add_heading(merge.iloc[i]['品牌'],level=1)
    document.add_heading(merge.iloc[i]['视频标题'],level=2)
    document.add_paragraph(merge.iloc[i]['视频文案'])

document.save('demo2.docx')

将每一条数据都按照样例设置得出,结果如下

3.3 第三版(基于第二版进行优化---结果见于demo3)

#优化1:

按照品牌名称分类,同一个品牌只出现一次 ----即品牌第一次出现时记录,第二次出现以及以后就不显示品牌了,只显示视频标题和视频文案 只需做条件判断:

条件1:当前数据的品牌是否与上一条的相同?不相同时则生成品牌,相同时则不生成 (bug:第一条是怎么比?和最后一条比吗?如果和最后一条比若相同则不生成,就出现问题了,按理说应该生成)

条件2:当索引为0时,也要生成品牌

#优化2:增加视频链接地址和达人名称,加在视频标题和视频文案之间

#优化3:将网址变成超链接的形式

#优化4:不建立word文档,能不能直接生成在线文档

#3,4不知道咋操作目前

document=Document()
#访问数据
for i in range(len(merge)):
    if merge.iloc[i]['品牌'] != merge.iloc[i-1]['品牌'] or i==0:
        document.add_heading(merge.iloc[i]['品牌'],level=1)
    document.add_heading(merge.iloc[i]['视频标题'],level=2)
    document.add_paragraph(f'达人昵称:{merge.iloc[i]["BloggerName"]}')
    document.add_paragraph(f'视频地址:douyin.com/video/{merge.iloc[i]["AwemeId"]}')
    document.add_paragraph(merge.iloc[i]['视频文案'])

document.save('demo3.docx')

结果如下:

(通过学习b站戴戴戴师兄数据分析课程----学习笔记1)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值