zoukankan      html  css  js  c++  java
  • Excel文件转换为txt文本第一次更新

    # -*- coding: utf-8 -*-
    import xdrlib ,sys
    import xlrd

    #打开excel文件
    def open_excel(file= 'example.xlsx'):
    try:
    data = xlrd.open_workbook(file)
    return data
    except IOError:
    print("check the file's name")

    #根据名称获取Excel表格中的数据 参数:file:Excel文件路径 colnameindex:表头列名所在行的索引 ,by_name:Sheet1名称
    def excel_table_byname(file= 'example.xlsx', colnameindex=0, by_name=u'Sheet1'):
    data = open_excel(file) #打开excel文件
    table = data.sheet_by_name(by_name) #根据sheet名字来获取excel中的sheet
    nrows = table.nrows #行数
    colnames = table.row_values(colnameindex) #某一行数据
    list =[] #装读取结果的序列
    for rownum in range(0, nrows): #遍历每一行的内容
    row = table.row_values(rownum) #根据行号获取行
    if row: #如果行存在
    app = [] #一行的内容
    for i in range(len(colnames)): #一列列地读取行的内容
    app.append(row[i])
    list.append(app) #装载数据
    return list

    # 创建一个txt文件,此处直接复制Excel数据
    def txt_create():
    #desktop_path = "C:\Users\Administrator\Desktop\" # 新创建的txt文件的存放路径
    #full_path = desktop_path + name + '.txt' # 也可以创建一个.doc的word文档
    #full_path = "CPU_MEM_Handle_.txt"
    # 文件读写方式是追加
    file = open("CPU_MEM_Handle_.txt", "w+")
    data = xlrd.open_workbook('example.xlsx') # 打开excel文件
    table = data.sheet_by_name(u'Sheet1') # 根据sheet名字来获取excel中的sheet
    # 行数
    row_cnt = table.nrows
    for j in range(1, row_cnt):
    row = table.row_values(j)
    # 调用函数,将行数据拼接成字符串
    str_row = str(row)
    # 将字符串写入新文件
    file.writelines(str_row + " ")
    file.close()

    # 读取表格数据,利用列标签进行数据筛选
    def Check_data(Cpu_data,Mem_data,Handle_data):
    data = xlrd.open_workbook('example.xlsx') # 打开excel文件
    table = data.sheet_by_name(u'Sheet1') # 根据sheet名字来获取excel中的sheet
    # 行数
    row_cnt = table.nrows
    # 列数
    col_cnt = table.ncols
    # 第一行数据
    title = table.row_values(0)
    # 初始化cpu对应的列数号,做标记
    Cpu_Index = 0
    Cpu_list = []

    # 初始化Handle对应的列数号,做标记
    Handle_Index = 0
    Handle_list = []

    # 初始化Mem对应的列数号,做标记
    Mem_Index = 0
    Mem_list = []

    for i in range(0, col_cnt):
    if title[i] == "CPU":
    Cpu_Index = i
    #Cpu_data.append("CPU:")
    if title[i] == "Handles":
    Handle_Index = i
    #Handle_data.append("Handle:")
    if title[i] == "Mem(M)":
    Mem_Index = i
    #Mem_data.append("Mem(M):")
    # print(Cpu_Index)
    # print(Handle_Index)
    # print(Mem_Index)
    for j in range(1, row_cnt):
    row = table.row_values(j)
    for i in range(0, col_cnt):
    Cpu_list.append(row[Cpu_Index])
    Mem_list.append(row[Mem_Index])
    Handle_list.append(row[Handle_Index])
    #将需要的最小最大值进行输入
    Cpu_data.append("CPU:" + str(min(Cpu_list)))
    Cpu_data.append("CPU:" + str(max(Cpu_list)))

    Mem_data.append("Mem(M):" + str(min(Mem_list)))
    Mem_data.append("Mem(M):" + str(max(Mem_list)))

    Handle_data.append("Handle:" + str(min(Handle_list)))
    Handle_data.append("Handle:" + str(max(Handle_list)))

    # 创建一个txt文件,此处直接复制Excel数据
    def load_txt(cpu_data,Mem_data,Handle_data):
    # 文件读写方式是追加
    file = open("CPU_MEM_Handle_.txt", "w+")
    for i in cpu_data:
    row = str(i)
    # 将字符串写入新文件
    file.writelines(row + " ")
    for i in Mem_data:
    row = str(i)
    # 将字符串写入新文件
    file.writelines(row + " ")
    for i in Handle_data:
    row = str(i)
    # 将字符串写入新文件
    file.writelines(row + " ")
    file.close()

    #主函数
    def main():
    Cpu_data = []
    Handle_data = []
    Mem_data = []

    Check_data(Cpu_data, Handle_data,Mem_data)
    load_txt(Cpu_data, Handle_data,Mem_data)


    if __name__=="__main__":
    main()
  • 相关阅读:
    [Clr via C#读书笔记]Cp18 定制Attribute
    [Clr via C#读书笔记]Cp16数组
    [Clr via C#读书笔记]Cp17委托
    [Clr via C#读书笔记]Cp15枚举和位标识
    [Clr via C#读书笔记]Cp14字符字符串和文本处理
    [Clr via C#读书笔记]Cp13接口
    [Clr via C#读书笔记]Cp12泛型
    [Clr via C#读书笔记]Cp11事件
    [Clr via C#读书笔记]Cp10属性
    【程序员面试金典】面试题 02.06. 回文链表
  • 原文地址:https://www.cnblogs.com/dog-and-cat/p/11385546.html
Copyright © 2011-2022 走看看