python–xlwt库的使用(第6天)

学习目标

  • 复习python基本语法
  • 在Linux系统下,掌握从txt文件中提取数据到exel文件的方法
  • 将HM16.9生成的

学习方法:举一反三&触类旁通

参考资料

import xlwt

import os

要点概括

import xlwt

  • Python语言中,写入Excel文件的扩展工具。
  • 相应的有xlrd扩展包,专门用于excel读取。
  • 可以实现指定表单、指定单元格的写入。
  • 支持excel03版到excel2013版,保存的格式只支持xls格式,07以后的版本xlsx不支持。
  • 使用时请确保已经安装python环境。
  • 在python中写excel表要用到xlwt [1] 模块,大致使用流程如下:
  1. 导入模块
    import xlwt
  2. 创建workbook(其实就是excel,后来保存一下就行)
    workbook = xlwt.Workbook(encoding = ‘ascii’)
  3. 创建表
    worksheet = workbook.add_sheet(‘My Worksheet’)
  4. 往单元格内写入内容
    worksheet.write(0, 0, label = ‘Row 0, Column 0 Value’)
  5. 保存
    workbook.save(‘Excel_Workbook.xls’)
  • 以上是最基本的功能。

import os

os.path模块主要用于文件的属性获取,在编程中经常用到,以下是该模块的几种常用方法。更多的方法可以去查看官方文档:http://docs.python.org/library/os.path.html

为什么要学xlwt?

  • python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库。

什么是xlwt?

xlwt库的用法?

上机实践

安装

ubuntu系统下安装xlwt库:

(base) yupengfei@yupengfei-X550VX:~$ pip install xlwt
Requirement already satisfied: xlwt in ./anaconda3/lib/python3.7/site-packages (1.3.0)
(base) yupengfei@yupengfei-X550VX:~

电脑上已经安装了这个库

写脚本

#一次性把所有配置的序列数据结果提取出来
##  extract_txt_xls_ypf.py
#格式要求:**_QP32_AI.txt
import os
import xlwt
#所有序列数据主名称
path='../CTC_txt/22'
def load_file_list(directory):
    
    list = []
    for filename in [y for y in os.listdir(directory) if os.path.isfile(os.path.join(directory,y))]:
        if filename.split('.')[-1]=='txt':
          list.append(filename.split('.txt')[0])
    return sorted(list)
name=load_file_list(path)
print(name)
path='../CTC_txt/'
#创建表,第一次循环(编码模式),第二次循环(qp)
f = xlwt.Workbook()
for mode in ['AI']:
  sheet = f.add_sheet(mode, cell_overwrite_ok=True)
  j = 1
  i = 0
  for name_seq in name:
    print(name_seq)
    sheet.write(j, 1, name_seq)
    for i in range(0,4):
      sheet.write(j+i, 2, 22+5*i)
      with open(path+'/'+str(22+5*i)+'/'+name_seq+'.txt') as ftxt:
        content = ftxt.read().splitlines()
        data1=content[-16].split( )
        print(data1)
        data2=content[-1].split( )
        data = data1[2:]
        k=3
        for target in data:
           sheet.write(j+i,k,target)
           k=k+1
    j+=4
f.save('CTC169_count.xls')

运行结果

(base) yupengfei@yupengfei-X550VX:~/HM-16.9/CTC169/CTC_xlwt$ python extract_txt_xls_ypf.py 
['BQMall', 'BQSquare', 'BQTerrace', 'BasketballDrill', 'BasketballDrillText', 'BasketballDrive', 'BasketballPass', 'BlowingBubbles', 'Cactus', 'ChinaSpeed', 'FourPeople', 'Johnny', 'Kimono1', 'KristenAndSara', 'ParkScene', 'PartyScene', 'PeopleOnStreet', 'RaceHorses', 'RaceHorsesC', 'SlideEditing', 'SlideShow', 'Traffic', 'vidyo1', 'vidyo3', 'vidyo4']
BQMall
['50', 'i', '28895.9808', '41.6447', '43.4448', '44.6105', '42.2937']
['50', 'i', '17731.1232', '38.5143', '40.9398', '41.7797', '39.2672']
['50', 'i', '10632.4320', '35.1819', '39.0534', '39.6190', '36.1770']
['50', 'i', '5987.0976', '31.8109', '37.6230', '38.0264', '33.0579']
BQSquare
['50', 'i', '12939.7152', '41.5129', '43.6211', '44.2081', '42.1735']
['50', 'i', '8485.8144', '37.0905', '40.8560', '41.6186', '38.0841']
['50', 'i', '5414.0640', '33.2289', '39.2559', '39.8367', '34.5089']
['50', 'i', '3344.4768', '29.5115', '38.1777', '38.5589', '30.9979']
BQTerrace
['50', 'i', '179569.6224', '42.7152', '42.9707', '44.5305', '43.0138']
['50', 'i', '94489.9776', '37.7942', '40.6039', '42.5547', '38.7112']
['50', 'i', '51371.3088', '34.5130', '38.8670', '41.0516', '35.6773']
['50', 'i', '28210.6752', '31.5330', '37.7396', '39.9587', '32.8961']
BasketballDrill
['50', 'i', '20451.6720', '41.7762', '43.8665', '44.4790', '42.4353']
['50', 'i', '11068.5200', '38.4051', '41.0935', '41.3207', '39.1532']
['50', 'i', '5916.9120', '35.4620', '38.8689', '38.9018', '36.3321']
['50', 'i', '3253.0720', '32.8297', '37.2331', '37.0885', '33.8538']
BasketballDrillText
['50', 'i', '20608.2960', '42.0734', '43.9698', '44.5807', '42.6883']
['50', 'i', '11525.9440', '38.6606', '41.0168', '41.3064', '39.3444']
['50', 'i', '6411.6000', '35.6410', '38.6035', '38.7214', '36.4341']
['50', 'i', '3652.0320', '32.8567', '36.7939', '36.8108', '33.8191']
BasketballDrive
['50', 'i', '49677.2800', '41.1073', '45.0496', '46.6284', '42.1815']
['50', 'i', '21542.0480', '39.2923', '43.6957', '44.5649', '40.3839']
['50', 'i', '11757.4640', '37.8223', '42.2661', '42.5699', '38.8766']
['50', 'i', '6692.9040', '35.9635', '41.0704', '41.0419', '37.0848']
BasketballPass
['50', 'i', '5135.7680', '42.6321', '44.9498', '45.1882', '43.3019']
['50', 'i', '3005.1840', '39.1289', '41.7685', '41.8434', '39.8509']
['50', 'i', '1665.3200', '35.7054', '39.3969', '39.3726', '36.6216']
['50', 'i', '900.1760', '32.5741', '37.8307', '37.5882', '33.7132']
BlowingBubbles
['50', 'i', '9078.3520', '41.1301', '42.4041', '43.6292', '41.6601']
['50', 'i', '5309.0800', '37.1657', '39.3896', '40.5661', '37.9035']
['50', 'i', '2918.8640', '33.5736', '37.2304', '38.2679', '34.5612']
['50', 'i', '1517.7920', '30.3963', '35.6857', '36.6913', '31.6052']
Cactus
['50', 'i', '110386.8000', '40.5747', '41.5850', '43.9957', '41.1568']
['50', 'i', '51454.9840', '37.8468', '39.3006', '41.8409', '38.5405']
['50', 'i', '28027.9360', '35.5508', '38.2179', '40.1222', '36.4390']
['50', 'i', '15198.9520', '33.0610', '37.3917', '38.8073', '34.1816']
ChinaSpeed
['50', 'i', '21993.3504', '45.2159', '46.7533', '46.9665', '45.6968']
['50', 'i', '14893.8624', '41.3553', '43.2392', '43.4263', '41.9184']
['50', 'i', '9877.7232', '37.5675', '40.6314', '40.5691', '38.3623']
['50', 'i', '6522.3024', '33.8462', '38.8294', '38.6089', '34.9509']
FourPeople
['50', 'i', '30032.9280', '43.8318', '46.8661', '47.9805', '44.7274']
['50', 'i', '18464.3328', '41.2642', '44.5648', '45.7795', '42.2141']
['50', 'i', '11385.8976', '38.3903', '42.5765', '43.7735', '39.4777']
['50', 'i', '6934.5216', '35.2814', '41.2027', '42.2997', '36.5748']
Johnny
['50', 'i', '19611.5520', '44.0505', '48.0966', '48.6151', '45.0709']
['50', 'i', '10882.7136', '41.8932', '46.2047', '46.7519', '42.9560']
['50', 'i', '6272.4000', '39.6037', '44.3582', '44.8980', '40.7289']
['50', 'i', '3635.6448', '37.0154', '42.8533', '43.2915', '38.2678']
Kimono1
['50', 'i', '17997.9187', '43.0194', '44.5290', '46.2863', '43.6592']
['50', 'i', '10318.8365', '41.6647', '42.6612', '43.9836', '42.1361']
['50', 'i', '6173.4950', '39.8088', '41.1650', '42.4309', '40.3626']
['50', 'i', '3648.6067', '37.3839', '40.0695', '41.5243', '38.2386']
KristenAndSara
['50', 'i', '22205.9136', '44.4661', '47.5488', '48.3576', '45.3457']
['50', 'i', '13302.8160', '42.1214', '45.4671', '46.3768', '43.0558']
['50', 'i', '8032.5888', '39.4459', '43.5311', '44.5092', '40.5039']
['50', 'i', '4828.3680', '36.5346', '42.1097', '42.9833', '37.7794']
ParkScene
['50', 'i', '50503.8298', '41.6155', '43.1436', '44.1493', '42.1858']
['50', 'i', '27270.0288', '38.6551', '40.6112', '41.5108', '39.3128']
['50', 'i', '14149.5014', '35.7413', '38.7328', '39.9953', '36.6383']
['50', 'i', '6952.3661', '32.9443', '37.5165', '39.2328', '34.1103']
PartyScene
['50', 'i', '48756.5120', '41.1382', '42.1893', '42.7475', '41.5339']
['50', 'i', '30927.6560', '36.7417', '38.9164', '39.2802', '37.3909']
['50', 'i', '18693.1440', '32.7552', '36.6669', '36.8876', '33.7271']
['50', 'i', '10298.3760', '28.9413', '35.1625', '35.3133', '30.2149']
PeopleOnStreet
['50', 'i', '104242.3056', '43.2479', '45.6036', '45.3570', '43.8722']
['50', 'i', '60434.0784', '39.8032', '43.2216', '43.5412', '40.7022']
['50', 'i', '34347.7056', '36.6770', '41.2296', '41.8745', '37.7814']
['50', 'i', '19993.0512', '33.8290', '39.7470', '40.5974', '35.1108']
RaceHorses
['50', 'i', '4952.8752', '42.2529', '43.1501', '43.7373', '42.6111']
['50', 'i', '3059.0832', '38.0929', '39.8647', '40.5201', '38.6821']
['50', 'i', '1720.2960', '34.1009', '37.5658', '38.0192', '35.0170']
['50', 'i', '881.2560', '30.6759', '35.9266', '36.1264', '31.8423']
RaceHorsesC
['50', 'i', '17247.3504', '42.2052', '43.4349', '43.9822', '42.6478']
['50', 'i', '10658.5872', '38.5009', '40.1484', '41.1953', '39.1022']
['50', 'i', '6170.8704', '34.7238', '37.8584', '39.1689', '35.6469']
['50', 'i', '3114.7440', '31.0300', '36.4702', '37.5926', '32.2599']
SlideEditing
['50', 'i', '34542.3600', '46.5372', '45.3563', '45.5013', '46.1350']
['50', 'i', '25783.8144', '42.1399', '40.9624', '41.1183', '41.7410']
['50', 'i', '19563.3456', '37.6184', '38.6941', '38.6872', '37.9470']
['50', 'i', '14592.3888', '32.8394', '37.6985', '36.9466', '33.8857']
SlideShow
['50', 'i', '3914.9248', '51.6563', '52.9637', '53.9052', '50.4110']
['50', 'i', '2458.9760', '48.1346', '49.4869', '50.6793', '47.1421']
['50', 'i', '1607.1328', '44.6909', '46.7431', '47.8781', '44.0857']
['50', 'i', '1045.4592', '41.1170', '44.5124', '45.9309', '40.8910']
Traffic
['50', 'i', '102040.7808', '43.3561', '42.8891', '44.7185', '43.4703']
['50', 'i', '57468.4896', '40.1622', '40.2236', '42.2187', '40.4550']
['50', 'i', '32785.7184', '37.1164', '38.3349', '40.4244', '37.7193']
['50', 'i', '18532.6416', '34.0979', '37.0454', '39.2343', '35.0546']
vidyo1
['50', 'i', '20981.4528', '44.6115', '47.2364', '48.1149', '45.4076']
['50', 'i', '12265.7376', '42.2432', '45.5268', '46.2237', '43.1487']
['50', 'i', '7372.6656', '39.6192', '43.8900', '44.4260', '40.6749']
['50', 'i', '4417.6896', '36.7018', '42.7517', '43.0935', '37.9723']
vidyo3
['50', 'i', '21946.6848', '44.4786', '48.4980', '48.1310', '45.4148']
['50', 'i', '13283.8464', '42.0975', '46.8014', '45.7441', '43.0892']
['50', 'i', '8246.5248', '39.3733', '45.4819', '43.6479', '40.5082']
['50', 'i', '4975.5552', '36.3103', '44.4575', '42.3120', '37.6525']
vidyo4
['50', 'i', '22370.8992', '44.2275', '48.7441', '48.9588', '45.2902']
['50', 'i', '12183.9264', '41.6398', '46.8063', '46.9825', '42.7887']
['50', 'i', '6810.8256', '39.0933', '45.0904', '45.1075', '40.3332']
['50', 'i', '3793.2192', '36.4970', '43.7872', '43.6936', '37.8580']

在这里插入图片描述

感谢

  • 岳建https://github.com/GithubYueJian
  • 贾梦虎https://me.csdn.net/jiamenghu

猜你喜欢

转载自blog.csdn.net/Master_Yu_Daye/article/details/107491682