提问人:Noob AF 提问时间:9/17/2023 最后编辑:Noob AF 更新时间:9/28/2023 访问量:30
使用 Python 填充 Excel 日期时,无法正确排序
When filling Excel dates with Python they cannot be sorted correctly
问:
我有一个 python 3.9 脚本,我用它来向用户询问信息并将其转储到 excel 中。向用户请求的数据之一是日期,该数据必须在 Excel 中以 DD/MM/YYYY 格式显示在第一列中。下面,我向您展示与此问题最相关的代码的简化部分:
def obtain_user_info():
date = datetime.today()
if input('Has it happened today?') != 'y':
valid_date = False
while not valid_date:
date_str = input('Type the date (YYYY-MM-DD format): ')
try:
# Trying to convert the entered date into an object of type datetime
date = datetime.strptime(date_str, '%Y-%m-%d')
valid_date = True
except ValueError:
# If a ValueError exception occurs, the date is invalid
print ('Invalid date. Please enter a valid date in YYYY-MM-DD format.')
return date
def excel_update(date):
excel_date= date.strftime("%d/%m/%Y")
new_row = [excel_date]
# Append the new row to the first empty row after the last row with content
for col, value in enumerate(new_row, start=1):
cell = sheet.cell(row=empty_row, column=col, value=value)
cell.alignment = Alignment(horizontal='center', vertical='center')
# Format date, time, and duration columns
if col in [1, 5, 6]:
cell.number_format = 'DD/MM/YYYY' if col == 1 else 'HH:MM:SS'
elif col == 7:
cell.number_format = 'hh:mm:ss'
empty_row += 1 # Move to the next empty row
wb.save(excel_file)
该脚本以 DD/MM/YYYY 格式在 Excel 中正确写入日期。但是,当按日期对列进行排序时,无法正确识别这些列。
您可以看到脚本添加的日期(属于 9 月的日期)是如何无法正确识别的。
我尝试将格式更改为 DD-MM-YYYY,但同样的事情一直在发生。
答: 暂无答案
评论
ISTEXT
openpyxl
1/10/2023
1-Oct
10-Jan