欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Python讀取xlsx文件的實現(xiàn)方法

系統(tǒng) 1667 0

腳本如下:

            
from openpyxl import load_workbook

workbook = load_workbook(u'/tmp/test.xlsx')  #找到需要xlsx文件的位置
booksheet = workbook.active         #獲取當(dāng)前活躍的sheet,默認(rèn)是第一個sheet

#如果想獲取別的sheet頁采取下面這種方式,先獲取所有sheet頁名,在通過指定那一頁。
# sheets = workbook.get_sheet_names() # 從名稱獲取sheet
# booksheet = workbook.get_sheet_by_name(sheets[0])

#獲取sheet頁的行數(shù)據(jù)
rows = booksheet.rows
#獲取sheet頁的列數(shù)據(jù)
columns = booksheet.columns


i = 0
# 迭代所有的行
for row in rows:
  i = i + 1
  line = [col.value for col in row]
  cell_data_1 = booksheet.cell(row=i, column=3).value        #獲取第i行1 列的數(shù)據(jù)
  cell_data_2 = booksheet.cell(row=i, column=4).value        #獲取第i行 2 列的數(shù)據(jù)
  cell_data_3 = booksheet.cell(row=i, column=8).value          #獲取第i行 3 列的數(shù)據(jù)
  cell_data_4 = booksheet.cell(row=i, column=18).value          #獲取第i行 4 列的數(shù)據(jù)
  print (cell_data_1, cell_data_2, cell_data_3, cell_data_4)


          

實例:python讀取excel數(shù)據(jù)做分類統(tǒng)計

某excel中記錄了某個人的通話記錄,下面程序?qū)凑胀ㄔ挼攸c,通話類型等統(tǒng)計通話時間

            
# -*- coding:utf-8 -*-
import xlrd
import datetime
infos=[]
info_file=xlrd.open_workbook('src.xls')#打開excel文件
info_sheet=info_file.sheets()[0]#通過索引順序獲取工作表
row_count=info_sheet.nrows#獲取行數(shù),列數(shù)ncols
for row in range(1,row_count):
  time_string=info_sheet.cell(row,3).value
  time_s_sp=time_string.split(':')
  infos.append(#該數(shù)組里放了row_count個字典
    {
      'type':info_sheet.cell(row,2).value,#獲取單元格,通話類型,主叫被叫
      'other_cellphone':info_sheet.cell(row,0).value,#對方號碼,
      'timespan':datetime.timedelta(seconds=int(time_s_sp[2]),minutes=int(time_s_sp[1]),hours=int(time_s_sp[0])),
      'gpscity':info_sheet.cell(row,5).value#通話是本地還是外地
    }
  )
time_all=datetime.timedelta(seconds=0)#初始化
time_types={}
time_classes={}
time_numbers={}
for infor in infos:#取出該數(shù)組里的字典
  time_all +=infor['timespan']#求總通話次數(shù)
  infor_type=infor['type']
  if infor_type in time_types:
    time_types[infor_type]+=infor['timespan']
  else:
    time_types[infor_type]=infor['timespan']#按通話類型統(tǒng)計通話時間
  infor_class=infor['gpscity']
  if infor_class in time_classes:
    time_classes[infor_class]+=infor['timespan']
  else:
    time_classes[infor_class]=infor['timespan']#這里相當(dāng)于先分類賦值再++,按歸屬地統(tǒng)計通話時間
  infor_number=infor['other_cellphone']
  if infor_number in time_numbers:
    time_numbers[infor_number]+=infor['timespan']
  else:
    time_numbers[infor_number]=infor['timespan']#根據(jù)號碼統(tǒng)計通話時間

print '總通話時間:%s' % time_all
print
print '總通話方式分類'
for k,v in time_types.items():
  print k.encode('utf-8'),v
print
print '通話類型分類:'
for k,v in time_classes.items():
  print k.encode('utf-8'),v
print
print '對方號碼分類:'
for k,v in time_numbers.items():
  print k,v


          

再優(yōu)化下代碼

            
# -*- coding:utf-8 -*-
import xlrd
from datetime import timedelta
def read_excel(file_excel):#讀excel并將需要的數(shù)據(jù)分類放在數(shù)組里
  infos=[]
  info_file=xlrd.open_workbook(file_excel)
  info_sheet=info_file.sheets()[0]
  row_count=info_sheet.nrows
  for row in range(1,row_count):
    time_string=info_sheet.cell(row,3).value
    time_s_sp=time_string.split(':')
    infos.append(
      {
        'type':info_sheet.cell(row,2).value,
        'other_cellphone':info_sheet.cell(row,0).value,
        'timespan':timedelta(seconds=int(time_s_sp[2]),minutes=int(time_s_sp[1]),hours=int(time_s_sp[0])),
        'gpscity':info_sheet.cell(row,5).value

      }
    )
  return infos
def count_cell(list_dirs,infotype):#統(tǒng)計總通話及分類統(tǒng)計結(jié)果,存在字典里
  result_dir={}
  time_all=timedelta(seconds=0)
  for list_dir in list_dirs:
    time_all +=list_dir['timespan']
    info_type = list_dir[infotype]
    if info_type not in result_dir:
      result_dir[info_type]=list_dir['timespan']
    else:
      result_dir[info_type]+=list_dir['timespan']
  return time_all,result_dir
def print_result(result_dir):#打印數(shù)據(jù)
  for k,v in result_dir.items():
    print k.encode('utf-8'),v

if __name__=="__main__":
  list_dirs=read_excel('src.xls')
  time_all,result_type=count_cell(list_dirs,'type')
  result_cell=count_cell(list_dirs,'other_cellphone')
  result_gpscity = count_cell(list_dirs, 'gpscity')
  print '總通話時間:%s' % time_all
  print '按照通話類型分類:'
  print_result(result_type)
  print '按照號碼分類:'
  print_result(result_cell[1])
  print '按照歸屬地分類:'
  print_result(result_gpscity[1])


          

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 1级a的观看视频 | 天天在线欧美精品免费看 | 色午夜日本 | 国产色片在线观看 | 成人网免费视频 | 男女一进一出无遮挡黄 | 99久久这里只有精品 | 一级特黄特黄毛片欧美的 | 伊人亚洲 | 成人三级视频 | 成年人在线观看 | 日本毛片高清免费视频 | 六月激情 | 国产永久在线视频 | 国产精品第一页在线 | 91精品一区二区三区久久久久久 | 亚洲操片 | 免费毛片在线播放 | 99国产在线视频有精品视频 | 久久久久久久国产精品影院 | 欧美精品一区二区免费 | 国产在线观看一区二区三区 | 理论片午午伦夜理片在线播放 | 男人用嘴添女人下身免费视频 | 国产精品拍拍拍福利在线观看 | a一级黄 | 米奇影院7777 | 国产精品高清在线 | 蜜桃传媒一区二区亚洲AV | 欧美在线小视频 | 成人午夜性a一级毛片美女 91精选 | 欧美一a一片一级一片 | 欧美另类专区 | 中文字幕一区二区三 | 全部三片在线观看直播 | 日韩成人高清 | 天天操综合网 | 青青草原亚洲 | 91精品久久久久久久久久小网站 | 第四色播日韩AV第一页 | www国产成人免费观看视频,深夜成人网 |