我正在尝试创建一个传输应用程序,该应用程序将使用文件名并将其转换为已发行文档的csv记录。当前,python调用给定文件夹中的所有文件名,创建一个列表,并将文件名分为文档编号,修订版和标题。
目前,我已经能够使用python抓取文件名,创建此信息的列表,然后将其拆分以创建单独数据的新列表,即 documentnumber,revision,title.pdf 到 [文档编号,修订版,标题]。
def getFiles():
i = 0
path = input("Paste in path for outgoing folder: ")
numTitleRev = os.listdir(path)
issueRec = []
fileData = []
totalList = len(numTitleRev)
listNumber = str(totalList)
print('\n' + "The total amount of documents in this folder is: " + listNumber + '\n')
csvOutput = []
while i < totalList:
for item in numTitleRev:
fileSplit = item.split(',',2)
fileTitle = fileSplit.pop(2)
fileRev = fileSplit.pop(1)
fileNum = fileSplit.pop(0)
csvOutput.append([fileNum,fileRev,fileTitle])
with open('output.csv','a') as writeCSV:
writer = csv.writer(writeCSV)
for row in csvOutput:
writer.writerow(row)
i += 1
writeCSV.close()
print("Writing complete")
The output I'm looking for is like so:
Number - Revision - Title
File1 - 01 - Title 1
File2 - 03 - Title 2 etc.
上面的代码是对列表进行拆分的过程,并通过“”记录记录,这是文件名在文件夹中的存储方式。
我认为我在以下代码中遇到的问题是csvOutput仅将一个结果发送到CSV,即字符串的最后一个结果。
然后将其打印在csv中以获取文件夹中文件总数,而不是拆分列表记录一,发送至csv,并重复记录二。
问题在于,当文件总数不是恒定的时候,我想不出如何将这些信息存储为变量。
任何帮助将不胜感激。