Python:读取Excel并自动将字符串转换为日期对象?
Python: Reading Excel and automatically turning a string into a Date object?
我在 Python 中使用 openpyxl
库,我正在尝试读入单元格的值。单元格值是 MM/DD/YYYY
格式的日期。我希望将值作为字符串(即 "8/6/2014"
)读入我的脚本,但 Python 以某种方式自动将其作为日期对象读取(结果为 "2014-08-06 00:00:00"
)我不知道这是否是我需要在 Excel 或 Python 中修复的问题,但我如何获得我正在寻找的字符串?
如果您想保留 openpyxl
正在读取的内容,我建议您在 Excel 中更改它。也就是说,当一个单元格被格式化为 Excel 中的日期时,它会被更改以适合指定的格式,因此在任何一种情况下您都丢失了初始字符串格式。
例如,假设用户在格式为 MM/DD/YYYY
的单元格中输入日期 1/1/2018
,Excel 会将数据更改为 01/01/2018
,而您将丢失输入的原始字符串。
如果您只想查看 MM/DD/YYYY
形式的数据,另一种解决方案是将日期转换为 date_cell.strftime("%m/%d/%Y")
我发现了如何使用这些代码行修复它:
dateString = str(ws.cell(row=row, column=column).value.date())
newDate = datetime.strptime(dateString, "%Y-%m-%d").strftime("%m/%d/%Y")
字符串 "newDate" 给出格式“8/6/2018”
我在 Python 中使用 openpyxl
库,我正在尝试读入单元格的值。单元格值是 MM/DD/YYYY
格式的日期。我希望将值作为字符串(即 "8/6/2014"
)读入我的脚本,但 Python 以某种方式自动将其作为日期对象读取(结果为 "2014-08-06 00:00:00"
)我不知道这是否是我需要在 Excel 或 Python 中修复的问题,但我如何获得我正在寻找的字符串?
如果您想保留 openpyxl
正在读取的内容,我建议您在 Excel 中更改它。也就是说,当一个单元格被格式化为 Excel 中的日期时,它会被更改以适合指定的格式,因此在任何一种情况下您都丢失了初始字符串格式。
例如,假设用户在格式为 MM/DD/YYYY
的单元格中输入日期 1/1/2018
,Excel 会将数据更改为 01/01/2018
,而您将丢失输入的原始字符串。
如果您只想查看 MM/DD/YYYY
形式的数据,另一种解决方案是将日期转换为 date_cell.strftime("%m/%d/%Y")
我发现了如何使用这些代码行修复它:
dateString = str(ws.cell(row=row, column=column).value.date())
newDate = datetime.strptime(dateString, "%Y-%m-%d").strftime("%m/%d/%Y")
字符串 "newDate" 给出格式“8/6/2018”