Как извлечь дату из .txt-файла в Python?
Код извлечения даты из .txt-файла в Python, он ищет все даты в файле после небольшого апгрейда
import datefinder
def find_date(filepath):
fp = open(filepath,’r’).read()
matches = datefinder.find_dates(fp)
for match in matches:
print match
filepath = «C:\Users\pubali.bhaduri\PycharmProjects\Mail\Mail1.txt»find_date(filepath)
Вы можете получить дату в виде локального часового пояса, например, mm / dd / yyyy или dd / mm / yyyy и т.д. используя модуль языка python. Просто добавьте эту строку перед прокруткой списка совпадений.
locale.setlocale(locale.LC_ALL, »)
Это фрагмент кода, который я написал для одного из моих проектов. Надеюсь, он поможет.
Ещё способы вывода даты и время из .txt-файла на Python
Этот код должен печатать массив всех дат в .txt-файле.
import re
import datetime
filepath = ‘new 1.txt’
datepattern = ‘%d-%m-%Y’
with open(filepath, ‘r’) as f:
file = f.read()
x = re.findall(‘\d\d-\d\d-\d\d\d\d’, file)
y = []
for item in x:
try:
date = datetime.datetime.strptime(item, datepattern)
y.append(date)
except:
pass
res = []
for item in y:
a, b = str(item).split(‘ ‘)
res.append(a)
for item in res: print(item)
Храните текстовый файл и скрипт в одной папке или отредактируйте путь в скрипте.
Поместите свое текстовое имя в строку 3 вместо «нового 1.txt». Если вы хотите найти какой-либо другой формат, внесите соответствующие изменения в переменную datepattern строки 4. Ранее мы рассматривали как вывести в текстовый файл текущую дату и время используя командную строку CMD Windows.
Строка 10 отфильтровывает любые фиктивные числовые значения, которые выглядят как даты, но не являются. Например, 23-43-2001 не является датой, но шаблон совпадает с датой, поэтому он будет отфильтрован.
Или вы можете использовать python re для извлечения дат. Пример кода ниже
import re
fin = open(«path-to-txt»,»r»)
text = fin.read()
match=re.search(r'(\d+/\d+/\d+)’,text)
print match.group()