Python将txt数据写入excel

按属性匹配想要的数据

每个txt文件在Excel中为一行

# -*- coding: utf-8 -*-
import os
import openpyxl 
from openpyxl  import load_workbook
import xlrd
import xlwt
#相对路径
import frozen_dir
#时间后缀
import RandomName
SETUP_DIR = os.path.dirname(frozen_dir.app_path())
#from xlutils.copy import copy

"""txt数据写入excel,每个txt数据占一行"""
l = []
out_filename='宽带账号静态数据'+RandomName.RandomName()+'.xls'
file_path=SETUP_DIR+r'/xlsx/'+ out_filename#要写入的文件

'''xlwt'''
# 创建工作簿
f = xlwt.Workbook()
# 在工作簿中创建sheet
sheet = f.add_sheet('Sheet1')

'''xlrd'''
# 在已有excel中插入数据
#f = xlrd.open_workbook(file_path)
#wb = copy(f)
# 获取工作簿中的sheet
#sheet = f.get_sheet(0)

'''openpyxl'''
# 打开工作薄
#f = load_workbook(file_path)
#all_sheets = f.sheetnames
#print(all_sheets)
# 打开工作薄中具体的sheet
#work_sheet = all_sheets[i]
#sheet = work_book[work_sheet]
#sheet = f["Sheet1"]


#txt文件放置在文件夹中,用来获取文件夹内所有文件目录
pathDir = os.listdir(SETUP_DIR+r"\data") 
#属性名
sheet.write(0, 0,'属性名1')
sheet.write(0, 1,'属性名2')
sheet.write(0, 2,'属性名3')
sheet.write(0, 3,'属性名4')
sheet.write(0, 4,'属性名5')
sheet.write(0, 5,'属性名6')
i = 1
for s in pathDir:
    #把获取的文件路径整合,获取文件完整路径
    newDir = os.path.join(r"D:\workspace\网络满意度\data", s)  
    print(newDir)
    
    f1 = open(newDir, 'r', encoding='gbk')
    lines = f1.readlines()
    print(lines)
    
    string = ""
    for line in lines:
        string += line
#   按行格式化输出
    n = str(string).split(',')[0]
#   把每一行保存为一个数组
    n2= str(n).split('\n')[0]
    
#   按分号划分,分别获取属性和值
    n3= str(n2).split(':')[0]
    n4= str(n2).split(':')[1]
    print(n)   
    print(n2)
    print(n3)
    print(n4)
    
#    str(str(n).split('\n')[0]).split(':')[0] #取属性
#    str(str(n).split('\n')[0]).split(':')[1] #取数据
    
#   属性1
#    sheet.write(0, 0, n3)
    sheet.write(i, 0, n4)
#   属性2
#    sheet.write(0, 1, str(str(n).split('\n')[0]).split(':')[0])
    sheet.write(i, 1, str(str(n).split('\n')[31]).split(':')[1])
#   属性3
#    sheet.write(0, 2, str(str(n).split('\n')[7]).split(':')[0])
    sheet.write(i, 2, str(str(n).split('\n')[7]).split(':')[1])
#   属性4
#    sheet.write(0, 3, str(str(n).split('\n')[8]).split(':')[0])
    sheet.write(i, 3, str(str(n).split('\n')[8]).split(':')[1])
#   属性5
#    sheet.write(0, 4, str(str(n).split('\n')[9]).split(':')[0])
    sheet.write(i, 4, str(str(n).split('\n')[9]).split(':')[1])
#   属性6
#    sheet.write(0, 4, str(str(n).split('\n')[9]).split(':')[0])
    sheet.write(i, 5, str(str(n).split('\n')[1]).split(':')[1])
    
#   行数加一 
    i = i+1
    print(i)
    
f.save(file_path)

 

已标记关键词 清除标记
【为什么还需要学习C++?】 你是否接触很多语言,但从来没有了解过编程语言的本质? 你是否想成为一名资深开发人员,想开发别人做不了的高性能程序? 你是否经常想要窥探大型企业级开发工程的思路,但苦于没有基础只能望洋兴叹?   那么C++就是你个人能力提升,职业之路进阶的不二之选。 【课程特色】 1.课程共19大章节,239课时内容,涵盖数据结构、函数、类、指针、标准库全部知识体系。 2.带你从知识与思想的层面从0构建C++知识框架,分析大型项目实践思路,为你打下坚实的基础。 3.李宁老师结合4大国外顶级C++著作的精华为大家推出的《征服C++11》课程。 【学完后我将达到什么水平?】 1.对C++的各个知识能够熟练配置、开发、部署; 2.吊打一切关于C++的笔试面试题; 3.面向物联网的“嵌入式”和面向大型化的“分布式”开发,掌握职业钥匙,把握行业先机。 【面向人群】 1.希望一站式快速入门的C++初学者; 2.希望快速学习 C++、掌握编程要义、修炼内功的开发者; 3.有志于挑战更高级的开发项目,成为资深开发的工程师。 【课程设计】 本课程包含3大模块 基础篇 本篇主要讲解c++的基础概念,包含数据类型、运算符等基本语法,数组、指针、字符串等基本词法,循环、函数、类等基本句法等。 进阶篇 本篇主要讲解编程中常用的一些技能,包含类的高级技术、类的继承、编译链接和命名空间等。 提升篇: 本篇可以帮助学员更加高效的进行c++开发,其中包含类型转换、文件操作、异常处理、代码重用等内容。
©️2020 CSDN 皮肤主题: 技术黑板 设计师:CSDN官方博客 返回首页