python:在';年月日';将其转换为';年月日';
我正在尝试使用python代码将日期粘贴到excel单元格中python:在';年月日';将其转换为';年月日';,python,excel,date,Python,Excel,Date,我正在尝试使用python代码将日期粘贴到excel单元格中 ws.Range('A1')。值='11/06/2020'2020年6月11日 我在excel单元格中看到的是2020年11月6日,即2020年11月6日 有什么线索吗 在我的windows上运行此程序,在我的Mac上运行相同的代码就可以了 代码,如果有人感兴趣的话 import win32com.client from datetime import datetime xlapp = win32com.client.Dispatch
ws.Range('A1')。值='11/06/2020'
2020年6月11日
我在excel单元格中看到的是2020年11月6日,即2020年11月6日
有什么线索吗
在我的windows上运行此程序,在我的Mac上运行相同的代码就可以了
代码,如果有人感兴趣的话
import win32com.client
from datetime import datetime
xlapp = win32com.client.DispatchEx("Excel.Application")
xlapp.Workbooks.Open('C:\\blp\\API\\Office Tools\\BloombergUI.xla')
xlapp.RegisterXLL('C:/blp/API/Office Tools/bofaddin.dll')
filepath = give the path here
wb = xlapp.Workbooks.Open(filepath,None,False)
xlapp.Visible = True
wb_addin = ('C:/blp/API/Office Tools/bofaddin.dll')
ws = wb.Worksheets[‘AB’]
ws.Range('A18').Value = '11/06/2020'
补充意见:
顺便说一句,当你使用win32com时,感觉这是一个问题。我刚刚尝试使用openpyxl,效果很好。不幸的是,我不得不在excel中使用BBG加载项,这在win32com中效果最好。似乎要格式化日期时间或将格式应用于工作表,因为根据区域日期时间设置,它会有所不同,如
MDY
或DMY
如果您使用的是xlsxriter
writer引擎,请使用以下代码:
formatdict = {'num_format':'mm/dd/yyyy'}
fmt = workbook.add_format(formatdict)
请添加您的示例代码或发布有关您的库的更多信息。有不同的日期格式,例如
dd/mm/yy
,mm/dd/yy
,等等。。。您的excel版本可能使用此格式mm/dd/yy
,要在mm/dd/yy
中转换dd/mm/yy
格式,您可以尝试以下操作:
date1 = '22/7/1'
d_excel = date1.split('/')
d_excel[0], d_excel[1] = d_excel[1],d_excel[0]
print('/'.join(d_excel))
Excel将根据运行该字符串的计算机的
short date
Windows区域设置来分析该字符串。因此,windows计算机的短日期设置可能有MDY
。我不喜欢Python,但可能会有帮助。不,我只是检查了一下,它显示了短日期:dd/MM/yyyyy可能只是excel工作表上的格式?我检查了它的DMY(上面的注释),我使用的是win32com。你的代码也可以吗?你用什么软件包来编写excel?顺便说一句,当你使用win32com时,感觉这是个问题。我刚刚尝试使用openpyxl,效果很好。不幸的是,我不得不在我的excel中使用BBG加载项,这在win32com中似乎效果最好