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()
原文地址:https://www.cnblogs.com/dog-and-cat/p/11385546.html