python编辑excel保存为新的excel时间列为乱码
时间: 2023-07-21 11:23:32 浏览: 139
如果你的 Python 程序中使用了 xlrd 和 xlwt 模块读写 Excel,保存后发现时间列出现乱码,可以尝试以下解决方法:
1. 将时间列的格式转换为字符串格式。可以使用 `datetime` 模块将时间格式转换为字符串格式,例如 `str(datetime_value)`。
2. 在保存 Excel 文件时,加入参数 `formatting_info=True`。这样可以将 Excel 中的格式信息一并保存,包括时间格式。
下面是一个示例代码:
```python
import xlrd
import xlwt
from xlutils.copy import copy
from datetime import datetime
# 读取 Excel 文件
workbook = xlrd.open_workbook('input.xls')
worksheet = workbook.sheet_by_index(0)
# 处理时间列,转换为字符串格式
for row in range(1, worksheet.nrows):
date_value = xlrd.xldate_as_tuple(worksheet.cell_value(row, 0), workbook.datemode)
date_string = datetime(*date_value).strftime('%Y-%m-%d %H:%M:%S')
worksheet.row(row).write(0, date_string)
# 复制 Excel 文件并保存
workbook_copy = copy(workbook)
worksheet_copy = workbook_copy.get_sheet(0)
workbook_copy.save('output.xls', formatting_info=True)
```
这个示例代码中假设时间列是 Excel 文件中的第一列,需要进行格式转换。如果你的时间列不是第一列,需要进行相应的修改。
阅读全文