我在Python中使用openpyxl
库,我试图读取单元格的值。单元格值是MM/DD/YYYY
格式的日期。我希望将值作为字符串(即"8/6/2014"
)读入我的脚本,但是Python会以某种方式自动将其作为日期对象读取(结果是"2014-08-06 00:00:00"
)我不知道这是否是我需要的东西修复Excel或Python,但如何获取我正在寻找的字符串?
如果你想保留openpyxl
正在阅读的内容,我建议你在Excel中更改它。也就是说,当一个单元格被格式化为Excel中的某个日期时,它会被更改为适合指定的格式,因此在任何一种情况下都会丢失初始字符串格式。
例如,假设用户将日期1/1/2018
输入到格式为MM/DD/YYYY
的单元格中,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”