當前位置:
首頁 > 知識 > 實戰Python讀寫Excel實例應用

實戰Python讀寫Excel實例應用

前言

前面我們學習了簡單的Python操作Excel的兩個庫xlrd和xlwt,今天來實際操作一個案例來增強實戰功能。

案例背景

我們市場部的同學想通過分析廣告投放時間前後(分鐘級,前1分鐘到後5分鐘)的用戶活躍數據來分析我們廣告的投放效果,來決定是否繼續投放和投放的其他選擇性,所以他們需要我來幫忙計算一下數據。所以這裡分享下實際操作。

數據準備

1、 廣告播放時間

這裡的廣告播放時間文件為ad.xlsx,由市場部同學提供,部分數據如下。

2、 用戶活躍數據

數據計算

數據準備完畢之後,就可以直接計算了,因為前面已經說過xlrd和xlwt庫的使用,這裡直接貼上代碼py_excel.py,大家可以實際操作試一試。(為了更好的查看代碼,可以訪問原文,這裡的編輯器只能塊引用)

#coding:utf-8

import xlrd

import xlwt

import re

import sys

import string

from datetime import datetime

#read the ad play time data

programFile = r"ad.xlsx"

#讀取廣告播放時間數據文件

adFile = r"ad.xlsx"

#打開文件並獲取數據

adWb = xlrd.open_workbook(adFile)

adSheet = adWb.sheet_by_index(0)

#獲取目標時間列(在第3列,由日期和時間拼接而成)

adTime = adSheet.col_values(2)

lenth_of_time = len(adTime)

#讀取uv數據

uvWb = xlrd.open_workbook(uvFile)

#數據存儲在一張表時,如果有多個sheet,要分開賦值

uvSheet = uvWb.sheet_by_index(0)

uvTime = uvSheet.col_values(0)

length = len(uvTime)

#初始化寫操作

resultFile = xlwt.Workbook()

#在生成表的時候添加了兩張sheet

resultMobile = resultFile.add_sheet("mobile",cell_overwrite_ok=True)

resultPC = resultFile.add_sheet("PC",cell_overwrite_ok=True)

i=1

while(i

print (i)

playTime = xlrd.xldate_as_tuple(adTime[i],adWb.datemode)

print (playTime)

j= 1

while(j

uvRow = uvSheet.row_values(j)

uvTime = xlrd.xldate_as_tuple(uvRow[0],uvWb.datemode)

#時間匹配

if((playTime[0]==uvTime[0] and playTime[1]==uvTime[1] andplayTime[2]==uvTime[2] and ((playTime[3]==uvTime[3] and uvTime[4]-playTime[4]>-2and uvTime[4]-playTime[4]-2 and uvTime[4]+60-playTime[4]

gap = uvTime[4]-playTime[4]

if(gap

gap=gap+60

if(gap==59):

gap=-1

if(uvRow[1]=="mo"):

resultMobile.write(i,gap+1,uvRow[2])

if(uvRow[1]=="pc"):

resultPC.write(i,gap+1,uvRow[2])

j = j + 1

i= i + 1

#保存結果

resultFile.save(r"result.xls")

查看結果:

首行數據表示分鐘。

小結

上面就是今天的主題內容了,今天分享下如何使用Python操作Excel進行讀寫文件生成目標數據,方便後面進行數據分析。希望通過上面的操作能幫助大家。如果你有什麼好的意見,建議,或者有不同的看法,我都希望你留言和我們進行交流、討論。

想要系統學習python和免費學習資料的 可以加裙 四七四五三四九五一

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Python 的精彩文章:

神經網路理論基礎及 Python 實現
10年Python大牛傾力打造系統Python學習流程圖!
5 個很好的 Python 面試題
Python 協程
數據專家必知必會的7款Python工具

TAG:Python |

您可能感興趣

Mysql8.0主從搭建,shardingsphere+springboot+mybatis讀寫分離
Python讀寫Excel表格,就是這麼簡單粗暴又好用
用fread和fwrite讀寫文件
python後台架構Django——連接讀寫mysql資料庫
mysql+mycat實現主從複製、讀寫分離
SpringBoot 玩轉讀寫分離
Multi Actuator多讀寫臂技術,新的性能突破
提升Hive操作Amazon S3讀寫數據的性能
希捷提出Multi Actuator技術,以多一組讀寫臂的方式增加存取效率
文石BOOX Note Pro和Nova Pro電紙書正式發布:讀寫全能帶前光
MapReduce數據序列化讀寫概念淺析!
DuangDuangDuang,黨禺書法藝術叢書《讀寫經典》正式上線了!
索尼推出Ultra-Tough系列三防SSD移動硬碟:最高讀寫速度1000MB/s
ModBus用戶自定義文件讀寫功能
威剛發布512GB microSD存儲卡:讀寫速度不俗
Centos 7利用內存優化磁碟緩存讀寫速度
Mushkin推出新款M.2 SSD:主打性價比 連續讀寫500MB/s
mysql主從複製與讀寫分離示例
Realtek首發SD 7.0主控:最大容量128TB、讀寫1GB/s
Realtek首發SD 7.0主控:最大容量128TB、讀寫1GB/s