我想用dd-mm-yyyy
的標準格式替換特定格式中的日期。第10列中的實際日期將類似於6.2017
,7.2017
,其中7
是該月並且2017
是該年。我只需要在所有值之前添加1-
,然後我想用-
(連字符)替換日期值中存在的點。所以輸出看起來像1-6-2017
,1-7-2017
。請注意,該列可能包含none
值。在那種情況下,我想跳過那些沒有值。如何用openpyxl替換特定列中的值?
這是我試過,
from openpyxl import load_workbook
wb = load_workbook(r'E:\foo\Python\stocktable.xlsx')
ws = wb.get_active_sheet()
for rownum in range(2, ws.get_highest_row()):
print(str(ws.cell(row=rownum, column=10).value))
輸出:
6.2017
7.2016
7.2017
6.2017
7.2017
7.2017
2.2016
7.2017
8.2016
None
所以我添加了一個痘痘位調整到上面的代碼,以我的情況工作。但它失敗了。
from openpyxl import load_workbook
wb = load_workbook(r'E:\foo\Python\stocktable.xlsx')
ws = wb.get_active_sheet()
for rownum in range(2, ws.get_highest_row()):
ws.cell(row=rownum, column=10).value = '1-' + str(ws.cell(row=rownum, column=10).value.replace('.', '-')
wb.save(r'E:\foo\Python\stocktable.xlsx')
也就是說,它顯示了一個錯誤symtax一樣,
File "E:\foo\Python\python-excel.py", line 7
wb.save()
^
SyntaxError: invalid syntax
你是什麼意思的「它失敗」?什麼是錯誤?如何把'month,year = ws.cell(row = rownum,column = 10).value.split(「。」)'後面跟ws.cell(row = rownum,column = 10).value = year + 「 - 」+月+「 - 」+「01」'? – shahkalpesh
@shahkalpesh added .... – user197324
爲什麼在保存時需要重新輸入文件名?嘗試使用'wb.save()'代替。 – shahkalpesh