读取多个txt文档,并使用openpyxl输出到excel

时间:2019-11-08 10:27:45

标签: python excel openpyxl

我试图跨多个子目录读取多个txt文件。 txt文件中是一行新文本,实际上其格式类似于网络共享“ \ uisdff \ uiefn”

我正在尝试获取顶级文件夹的名称,然后针对后续文本文件中的每一行,将每一行分别与文件夹名称和日期一起写到excel工作表中。

这是我目前拥有的-

import openpyxl
import subprocess
import datetime
import os, time

directory='.'

path='Test.xlsx'


wb_obj = openpyxl.load_workbook(path)

sheet_obj =  wb_obj["Sheet1"]


cell_obj = sheet_obj.cell(row = 1, column = 1) 

m_row = 2000




subfolders = [f.name for f in os.scandir(directory) if f.is_dir() ]  
for i in subfolders:
    subdirectory= directory+'\\'+ i
    for file in os.listdir(subdirectory):
        filename= subdirectory+"\\"+file
        file1= open(filename, "r")
        for i in range(1, m_row + 1): 
            for items in file1.readlines():


                unc_obj = sheet_obj.cell(row = i, column = 1)
                fol_obj = sheet_obj.cell(row = i, column = 2)
                date_obj = sheet_obj.cell(row = i, column = 3)



                unc_obj.value = items
                fol_obj.value = "TEST"
                date_obj = date



    wb_obj.save(writepath)                        

我对python来说还很陌生,所以有些指针太棒了!不管我尝试什么,它要么写最后一个文件的最后一行,写到2000行(所有文档总共2000行,但这会有所不同),或者只写a1。

我的文本文件如下所示

\\hbi\jinkn
\\test\jnn

    test = []
    for items in file1.readlines():

        thisitem = items.replace(r'"\\', r"\\")
        more = thisitem.replace("  ,is an open share\"", "")


        unc_obj = more
        print(unc_obj)
        MKT_obj = "TEST"
        date_obj= str(datetime.datetime.now())
        row = [unc_obj.rstrip(), MKT_obj,date_obj]
        test.append(row)

    sheet_obj.append(test)                


    wb_obj.save(writepath)       

我现在正在使用sheet.append。但是遇到一个错误,它无法将值转换为excel。

0 个答案:

没有答案