电竞比分网-中国电竞赛事及体育赛事平台

分享

4段簡短代碼教你用Python讀寫Excel

 止觀觀止 2019-05-16

導(dǎo)讀:數(shù)據(jù)分析將作為一門通用技能,進(jìn)入越來越多的不同工作中。畢竟“技多不壓身”,掌握數(shù)據(jù)分析,一方面可以提升自己相應(yīng)的業(yè)務(wù)能力,另一方面也可以讓自己建立一種從數(shù)據(jù)出發(fā)的視角,用大數(shù)據(jù)思維去思考各種問題。

作者:老A

如需轉(zhuǎn)載請聯(lián)系華章科技

Excel里面的透視表(Pivot Table)確實(shí)是做數(shù)據(jù)分析的必備技能。透視表可以幫你迅速匯總數(shù)據(jù),看到各類型數(shù)據(jù)的直觀特征就像是讓你站在了一個(gè)更高的視角上去看你的數(shù)據(jù)。作為進(jìn)階,Excel自帶的函數(shù),各種插件,以及VBA也是很好的工具。

但當(dāng)數(shù)據(jù)量大到用Excel打開都要好久,電腦打開文件都會(huì)死機(jī)的時(shí)候,這種也就不適合用office工具了,也或者我們想進(jìn)一步提升能力的時(shí)候,需要學(xué)習(xí)一些hardcore技能,即用編程語言做數(shù)據(jù)分析。

這里主要有R和Python兩大流派。我個(gè)人推薦Python,一方面Python代碼簡單易懂,容易上手;另一方面學(xué)習(xí)資料超級多。關(guān)于Python的學(xué)習(xí)資料,這里我推薦《利用Python進(jìn)行數(shù)據(jù)分析》,這本書涵蓋了利用Python做數(shù)據(jù)清洗,數(shù)據(jù)可視化及分析的技能點(diǎn),可以作一本參考書、工具書,也可以對著書里面的案例進(jìn)行實(shí)操。

受這本書的啟發(fā),我寫了下面是幾個(gè)處理Excel的小程序,僅供大家參考學(xué)習(xí)數(shù)據(jù)分析和數(shù)據(jù)從Excel中獲取數(shù)據(jù)。Python對Excel的讀寫主要有xlrd、xlwt、xlutils、openpyxl、xlsxwriterp這幾個(gè)形式。具體的安裝方法可以從網(wǎng)上查一下,然后導(dǎo)入Python中就可以使用了。

1. xlrd主要是用來讀取excel文件

import xlrdworkbook = xlrd.open_workbook(u' Python進(jìn)行數(shù)據(jù)分析測試.xls')sheet_names= workbook.sheet_names()for sheet_name in sheet_names:   sheet2 = workbook.sheet_by_name(sheet_name)   print sheet_name rows = sheet2.row_values(1)    cols = sheet2.col_values(1)    print rows   print cols

2. xlwt主要是用來寫excel文件

import xlwtwbk = xlwt.Workbook()sheet = wbk.add_sheet('sheet 1')sheet.write(0,1,'test text')#第0行第一列寫入內(nèi)容wbk.save('test.xls')

3. xlutils結(jié)合xlrd可以達(dá)到修改excel文件目的

import xlrdfrom xlutils.copy import copyworkbook = xlrd.open_workbook(u' Python進(jìn)行數(shù)據(jù)分析測試.xls')workbooknew = copy(workbook)ws = workbooknew.get_sheet(0)ws.write(3, 0, 'changed!')workbooknew.save(u' Python進(jìn)行數(shù)據(jù)分析測試copy.xls')

4. openpyxl可以對excel文件進(jìn)行讀寫操作

from openpyxl import Workbookfrom openpyxl import load_workbookfrom openpyxl.writer.excel import ExcelWriter workbook_ = load_workbook(u' Python進(jìn)行數(shù)據(jù)分析測試.xlsx')sheetnames =workbook_.get_sheet_names() print sheetnamessheet = workbook_.get_sheet_by_name(sheetnames[0])print sheet.cell(row=3,column=3).valuesheet['A1'] = '47' workbook_.save(u' Python進(jìn)行數(shù)據(jù)分析測試新.xlsx') wb = Workbook()ws = wb.activews['A1'] = 4wb.save('檢索.xlsx') 

最后把《利用Python進(jìn)行數(shù)據(jù)分析》這本書的內(nèi)容再給大家介紹一下,書中含有大量的實(shí)踐案例,講解如何利用各種Python庫(包括NumPy、pandas、matplotlib以及IPython等)高效地解決各式各樣的數(shù)據(jù)分析問題。

由于作者Wes McKinney是pandas庫的主要作者,所以這本書也可以作為利用Python實(shí)現(xiàn)數(shù)據(jù)密集型應(yīng)用的科學(xué)計(jì)算實(shí)踐指南,適合剛剛接觸Python的分析人員以及剛剛接觸科學(xué)計(jì)算的Python程序員。

  • 將IPython這個(gè)交互式Shell作為你的首要開發(fā)環(huán)境。
  • 學(xué)習(xí)NumPy(Numerical Python)的基礎(chǔ)和高級知識(shí)。
  • 從pandas庫的數(shù)據(jù)分析工具開始。
  • 利用高性能工具對數(shù)據(jù)進(jìn)行加載、清理、轉(zhuǎn)換、合并以及重塑。
  • 利用matplotlib創(chuàng)建散點(diǎn)圖以及靜態(tài)或交互式的可視化結(jié)果。
  • 利用pandas的groupby功能對數(shù)據(jù)集進(jìn)行切片、切塊和匯總操作。
  • 處理各種各樣的時(shí)間序列數(shù)據(jù)。
  • 通過詳細(xì)的案例學(xué)習(xí)如何解決Web分析、社會(huì)科學(xué)、金融學(xué)以及經(jīng)濟(jì)學(xué)等領(lǐng)域的問題。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多