我正在嘗試編輯幾個excel文件(.xls)而不更改工作表的其餘部分。到目前爲止,我發現的唯一東西是xlrd,xlwt和xlutils模塊。這些問題似乎是xlrd在閱讀時評估公式,然後將答案作爲單元格的值。有沒有人知道保存公式的方法,以便我可以使用xlwt寫入文件而不會丟失它們?我有我在Python和CLISP方面的大部分經驗,但如果他們有更好的支持,他可以很快地選擇另一種語言。謝謝你提供的所有幫助!有什麼方法可以使用Python保存公式來編輯現有的Excel文件?
回答
我已經使用xlwt.Formula
函數才能夠獲取超鏈接到單元格中。我想它也可以與其他公式一起使用。
更新:這裏有一個片段我在我用它在一個項目中找到:
link = xlwt.Formula('HYPERLINK("%s";"View Details")' % url)
sheet.write(row, col, link)
你似乎錯過了這個問題。 OP的問題是xlrd不讀公式。因此,他沒有用xlwt寫出的公式。 –
截至目前,xlrd不讀公式。這不是它評估它們,它根本不會讀取它們。
現在,您最好的選擇是通過pywin32或Visual Basic或VBScript(或其他Microsoft友好的具有COM接口的語言)以編程方式控制Excel的運行實例。如果您無法運行Excel,那麼您可以改用OpenOffice.org做類似的事情。
我們剛剛遇到了這個問題,我們可以做的最好的辦法是手動將公式寫爲文本,然後將它們轉換爲適當的輸出公式。
所以打開Excel和替換=SUM(C5:L5)
與"=SUM(C5:L5)"
包括引號。如果你有你的公式中一個雙引號,用2個引號替換它,因爲這會逃跑,所以= "a" & "b"
成爲"= ""a"" & ""b"" "
)
然後在你的Python代碼,遍歷源和輸出紙張的每一個細胞,做:
output_sheet.write(row, col, xlwt.ExcelFormula.Formula(source_cell[1:-1]))
我們使用this SO answer,使源表的副本是輸出板,它甚至可以保留的風格,避免從上面覆蓋手寫文本公式。
謝謝,它的工作原理 –
我有同樣的問題......最後發現下一個模塊:
from openpyxl import load_workbook
def Write_Workbook():
wb = load_workbook(path)
ws = wb.get_sheet_by_name("Sheet_name")
c = ws.cell(row = 2, column = 1)
c.value = Some_value
wb.save(path)
==>這樣做,我的文件保存得到保留之前插入所有公式。
希望這會有所幫助!
只要文件是'.xlsx'或者可以轉換成這個文件就可以解決這個問題。 OpenPyXL不能與'.xls'文件一起使用。 –
- 1. 有什麼方法可以用googleDocs編輯器編輯我的文檔嗎?
- 2. 無法保存現有的Excel文件
- 3. 有什麼辦法可以通過iTextSharp來創建可編輯的PDF文件?
- 4. 無法使用NPOI編輯現有的Excel文件?
- 5. 使用OLE以編程方式保存Excel文件
- 6. 使用Python編輯和保存文件
- 7. 有沒有什麼辦法可以使用Python以編程方式設置Word文檔的縮放級別?
- 8. 如何使用Python編輯和保存現有的HTML?
- 9. 有什麼方法可以編輯Capture Pin的屬性嗎?
- 10. 有什麼方法可以編輯R中的函數?
- 11. 有沒有什麼辦法以儘可能改變ALAssetLibrary的方式保存ALAsset?
- 12. 使用現有的Excel文件保存數據並以新名稱保存
- 13. 有沒有內建的方法可以列出最後編輯過的文件的所有保存時間?
- 14. 有沒有什麼方法可以在iPhone上以編程方式保存圖像爲default.png?
- 15. 什麼時候可以使用XML文件來保存信息?
- 16. 有什麼方法可以反編譯grails/groovy jar文件嗎?
- 17. 有什麼方法可以保存列的順序?
- 18. 使用ruby更新現有的excel文件模板公式
- 19. 以文本方式編輯Excel文本
- 20. 有沒有什麼方法可以使用'unset'作爲方法?
- 21. 使用c#將公式寫入現有excel表單的語法是什麼?
- 22. C#:有沒有什麼方法可以發現編碼文件的字符集正在使用?
- 23. 有沒有什麼辦法可以編程方式選擇TextView中的文本?
- 24. 有什麼辦法來保存的Android
- 25. 有什麼方法可以使用命令行來調試ERB文件嗎?
- 26. 有什麼方法可以使用Apache POI來讀取.xls和.xlsx文件?
- 27. 有什麼方法可以將PHP會話保存在RAM中?
- 28. 有沒有一種簡單的方法來編輯python的json文件
- 29. 使用Python編輯Excel文件並將其保存到一個新文件中
- 30. 有什麼辦法以編程方式生成Python字節碼?
您是否安裝了Excel? –
是的,但我在Mac上運行它。我也有OpenOffice – user934001