我试图跨多个子目录读取多个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。