老板丟給我60萬行的Excel數(shù)據(jù),幸虧我會Python找爱,不然就慘了

?

一個朋友在某運(yùn)動品牌公司上班梗顺,老板給他布置了一個處理客戶訂單數(shù)據(jù)的任務(wù)。要求是根據(jù)訂單時間和客戶id判斷生成四個新的數(shù)據(jù):

1车摄、記錄該客戶是第幾次光顧

2寺谤、上一次的日期時間是什么時候

3、與上次訂單的間隔時間

4吮播、這是一個existing客戶還是一個new客戶(見定義)

文件說明:

1变屁、第一列是訂單日期和時間(亂序)

2、第二列是客戶的id

3意狠、第三列不需要使用

4粟关、60+萬行數(shù)據(jù)

相關(guān)定義如下:

1、existing:此次下單日期時間與上次日期時間的距離在N天以內(nèi)环戈,精確到時間(時分秒)

2闷板、new:即超過N天

?

?

整體思路

1获列、讀取表格的行數(shù)據(jù)存儲成list,并按照時間列的升序排序蛔垢。

2、維護(hù)一個map(在python里是字典dict)迫悠,每個用戶 id 作為key鹏漆,一個二元組(第幾次下單,上一次的日期時間)作為value创泄。

3艺玲、遍歷表格行數(shù)據(jù)的list。判斷客戶 id 是否已經(jīng)存在于map中鞠抑,若首次出現(xiàn)饭聚,則置該客戶 id 在map中的value為[1,'首次下單'],對應(yīng)行數(shù)據(jù)新增的4個數(shù)據(jù)為[1搁拙,'首次下單',該次日期時間與上次日期時間差秒梳,'new']。若已經(jīng)存在箕速,則更新map中對應(yīng)的value為[原次數(shù)+1酪碘,該次日期時間],對應(yīng)行數(shù)據(jù)新增的4個數(shù)據(jù)為[原次數(shù)+1盐茎,上次日期時間兴垦,間隔時間,new/existing取決于間隔時間與預(yù)設(shè)N]字柠。

4探越、將修改過后的行數(shù)據(jù)list寫入到Excel工作簿并保存。

讀取表格數(shù)據(jù)

我們可以用xlrd模塊對Excel文件進(jìn)行讀取窑业,以便進(jìn)一步分析處理數(shù)據(jù)钦幔。示例代碼如下:

?

以上代碼成功輸出前100行的日期則說明已經(jīng)成功讀取到數(shù)據(jù)。輸出結(jié)果如下:

?

?

小編給大家推薦一個學(xué)習(xí)氛圍超好的地方数冬,python交流企鵝裙:【6.1.1节槐,五三零,1.0.1】拐纱!適合在校大學(xué)生铜异,小白,想轉(zhuǎn)行秸架,想通過這個找工作的加入揍庄。裙里有大量學(xué)習(xí)資料,有大神解答交流問題东抹,每晚都有免費(fèi)的直播課程

?

既然讀取文件沒有問題蚂子,進(jìn)一步瀏覽整個文件發(fā)現(xiàn)存在多余的空行和重復(fù)的標(biāo)題行在讀取和轉(zhuǎn)存中可以用正則匹配過濾掉這些行沃测。

?

將讀取的行數(shù)據(jù)轉(zhuǎn)存到list中,以便進(jìn)行排序食茎。

?

將修改后的行數(shù)據(jù)list寫入Excel表格并保存為xslx格式

?

結(jié)果展示

?

完整代碼

?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末蒂破,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子别渔,更是在濱河造成了極大的恐慌附迷,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,277評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件哎媚,死亡現(xiàn)場離奇詭異喇伯,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)拨与,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,689評論 3 393
  • 文/潘曉璐 我一進(jìn)店門稻据,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人买喧,你說我怎么就攤上這事捻悯。” “怎么了岗喉?”我有些...
    開封第一講書人閱讀 163,624評論 0 353
  • 文/不壞的土叔 我叫張陵秋度,是天一觀的道長。 經(jīng)常有香客問我钱床,道長荚斯,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,356評論 1 293
  • 正文 為了忘掉前任查牌,我火速辦了婚禮事期,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘纸颜。我一直安慰自己兽泣,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,402評論 6 392
  • 文/花漫 我一把揭開白布胁孙。 她就那樣靜靜地躺著唠倦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪涮较。 梳的紋絲不亂的頭發(fā)上稠鼻,一...
    開封第一講書人閱讀 51,292評論 1 301
  • 那天,我揣著相機(jī)與錄音狂票,去河邊找鬼候齿。 笑死,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的慌盯。 我是一名探鬼主播周霉,決...
    沈念sama閱讀 40,135評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼亚皂!你這毒婦竟也來了俱箱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,992評論 0 275
  • 序言:老撾萬榮一對情侶失蹤灭必,失蹤者是張志新(化名)和其女友劉穎匠楚,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體厂财,經(jīng)...
    沈念sama閱讀 45,429評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,636評論 3 334
  • 正文 我和宋清朗相戀三年峡懈,在試婚紗的時候發(fā)現(xiàn)自己被綠了璃饱。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,785評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡肪康,死狀恐怖荚恶,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情磷支,我是刑警寧澤谒撼,帶...
    沈念sama閱讀 35,492評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站雾狈,受9級特大地震影響廓潜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜善榛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,092評論 3 328
  • 文/蒙蒙 一辩蛋、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧移盆,春花似錦悼院、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,723評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至叙甸,卻和暖如春颖医,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背蚁署。 一陣腳步聲響...
    開封第一講書人閱讀 32,858評論 1 269
  • 我被黑心中介騙來泰國打工便脊, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 47,891評論 2 370
  • 正文 我出身青樓哪痰,卻偏偏與公主長得像遂赠,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子晌杰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,713評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 是的肋演,這是一篇技術(shù)博客抑诸,而已。 看完本篇需要:10min 作業(yè)練習(xí)需要:0.5h~3h(依練習(xí)者對python熟悉...
    王雨城閱讀 2,452評論 8 30
  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 31,930評論 2 89
  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,451評論 0 13
  • 生命中有很多人,他們的一言一行梗夸,讓自己感動并且受益匪淺层玲。有限的記憶終究抹不去與這些良師益友有關(guān)的畫面。 2016年...
    莫失莫忘87閱讀 163評論 0 0
  • 本來說好下次見面即昨天要向她打招呼告訴她我是哪位的反症,結(jié)果失敗了辛块,我提早點(diǎn)去想在電梯上遇見,結(jié)果她晚來铅碍,她中途休息去...
    7芍藥閱讀 173評論 0 0