Я хочу, чтобы этот код считывал папку и разделял заголовки файлов на два списка имен и годов, а затем имена в одном столбце и годы в другом в файле excel с помощью python. Моя проблема в том, что когда я пытаюсь сопоставить год и отделить его от строки, чтобы экспортировать во второй столбец, совпадение иногда совпадает с числами, которые меньше 4 чисел. Я хотел бы, чтобы это было всего лишь число 4 di git и ничего больше, независимо от того, где оно находится в имени файла (начало, конец, середина).
вот мой код:
import os
import re
import xlsxwriter
workbook = xlsxwriter.Workbook('titles.xlsx')
worksheet = workbook.add_worksheet()
row = 0
column = 0
filenames = [ (os.path.splitext(p)[0]) for p in os.listdir("W:\\titles\\")if "." in p ]
names=[]
years=[]
years2=[]
subst = {"[":"","]":"","'":""}
for i in filenames:
res = re.findall(r'(\d{4,})', i)
years.append(str(res))
names.append(i.strip(str(res)))
for i in names:
print(i)
def replace(string, dictionary, lista):
for item in years:
for item in dictionary.keys():
string = string.replace(item, dictionary[item])
lista.append(string)
for i in years:
replace(str(i), subst, years2)
worksheet.write(0,0,"names")
worksheet.write(0,1,"years")
worksheet.write_column(1,0, names)
worksheet.write_column(1,1, years2)
workbook.close()