Я работаю над проектом, в котором мне нужно преобразовать базу данных внутри файла XLS в MySQL. У меня уже работает код python, который может это сделать, но я не уверен в правильном способе динамической обработки краевых случаев.
End Date
04/12/2006 10:00:00
04/12/2006 11:00:00
4/12/2006 13:00:00 PM
Например, у меня есть один столбец дат здесь. Очевидно, что я могу отредактировать ячейку здесь вручную, чтобы она соответствовала другому формату даты, но это не масштабируется, если есть тысячи дат.
Я также могу написать python код для обработки этого указанного c искаженного формат даты, но он не будет работать для других искаженных дат.
for c in range(0,col_names.ncols):
#Ctype 3 means its a date. 1 is for Text
if col_names.cell(r,c).ctype == 3:
raw_time = xlrd.xldate_as_tuple(col_names.cell(r,c).value, book.datemode)
rowData.append(str(datetime.datetime(*raw_time)))
else:
if col_names.cell(r,c).value == 'NULL':
rowData.append(None)
elif "PM" in col_names.cell(r,c).value:
col_names.cell(r,c).value = col_names.cell(r,c).replace("PM","")
elif "AM" in col_names.cell(r,c).value:
col_names.cell(r,c).value = col_names.cell(r,c).replace("AM","")
else:
rowData.append(col_names.cell(r,c).value)
Я попытался установить этот столбец в Excel в формате даты. Все остальные ячейки, кроме последней, преобразуются в порядке.
Существуют ли какие-либо программы или методы, которые позволят мне переопределить любую строку даты в этом столбце в правильном формате?
Имеют ли другие программы, такие как SAS, лучшую способность динамически форматировать входные данные?