Python:读取Excel并自动将字符串转换为Date对象?

时间:2018-06-21 01:45:26

标签: python excel parsing openpyxl

我在Python中使用openpyxl库,并且试图读取单元格的值。单元格的值是日期,格式为MM/DD/YYYY。我希望将值作为字符串(即"8/6/2014")简单地读入脚本中,但是Python却以某种方式自动将其作为日期对象(结果为"2014-08-06 00:00:00")读入,我没有知道这是否是我需要在Excel或Python中修复的问题,但是如何获取要查找的字符串?

2 个答案:

答案 0 :(得分:2)

如果您要保留openpyxl读入的内容,建议在Excel中进行更改。就是说,在Excel中将单元格格式化为日期后,它会更改为适合指定的格式,因此在任何一种情况下,您都将丢失初始字符串格式。

例如,假设用户在格式为1/1/2018的单元格中输入日期MM/DD/YYYY,Excel会将数据更改为01/01/2018,您将丢失原始字符串已输入。

如果您只想查看MM/DD/YYYY格式的数据,另一种解决方案是使用date_cell.strftime("%m/%d/%Y")投射日期

答案 1 :(得分:-1)

我发现了如何使用以下几行代码对其进行修复:

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”