我有大約150個.xls和.xlsx文件需要轉換爲製表符分隔。我嘗試過使用automator,但我只能一個接一個地做。不過,這絕對比單獨打開每一個都要快。我的腳本知識很少,因此我希望儘可能無痛地做到這一點。Mass在Mac上將.xls和.xlsx轉換爲.txt(製表符分隔)
回答
如果您準備爲此使用Python,我寫了一個將Excel電子表格轉換爲csv文件的腳本。該代碼可在Pastebin獲得。
你只需要更改以下行:
writer = csv.writer(fileout)
到:
writer = csv.writer(fileout, delimiter="\t")
作出界定,而不是劃定的標準逗號輸出文件選項卡。
現在這個腳本一次提示您輸入一個文件(允許您從對話框中選擇),但它可以很容易地適用於拾取給定目錄樹中的所有Excel文件或名稱匹配一個給定的模式。
如果您首先嚐試使用單個文件並讓我知道如何繼續,如果您願意,我可以幫助進行更改以使其餘部分自動化。
UPDATE
這裏是一個包裝腳本,你可以使用:
#!/usr/bin/python
import os, sys, traceback
sys.path.insert(0,os.getenv('py'))
import excel_to_csv
def main():
# drop out if no arg for excel dir
if len(sys.argv) < 2:
print 'Usage: Python xl_csv_wrapper <path_to_excel_files>'
sys.exit(1)
else:
xl_path = sys.argv[1]
xl_files = os.listdir(xl_path)
valid_ext = ['.xls', '.xlsx', '.xlsm']
# loop through files in path
for f in xl_files:
f_name, ext = os.path.splitext(f)
if ext.lower() in valid_ext:
try:
print 'arg1:', os.path.join(xl_path,f)
print 'arg2:', os.path.join(xl_path,f_name+'.csv')
excel_to_csv.xl_to_csv(os.path.join(xl_path,f),
os.path.join(xl_path,f_name+'.csv'))
except:
print '** Failed to convert file:', f, '**'
exc_type, exc_value, exc_traceback = sys.exc_info()
lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
for line in lines:
print '!!', line
else:
print 'Sucessfully conveted', f, 'to .csv'
if __name__ == '__main__':
main()
您將需要更換:同向的絕對路徑
sys.path.insert(0,os.getenv('py'))
在頂部excel_to_csv腳本或您的系統上的環境變量。
有趣的是,我實際上對python有所瞭解。對不起,但你如何運行它?輸出中顯示「〜/ Desktop/done/excel_to_csv.py:9:ImportError:No module named xlrd 」 –
抱歉忘了提及您需要安裝xlrd庫。您可以從這裏獲取源代碼:https://pypi.python.org/pypi/xlrd/0.9.2。我只在Windows/Linux上使用python,但我認爲它在osx上是一樣的 - 你只需要解壓縮包然後運行python setup。PY安裝,一旦你已經下載 – ChrisProsser
關於它的思考,你可能需要須藤添加到命令的前上方安裝的超級用戶。 – ChrisProsser
在控制工作簿中使用VBA循環遍歷指定目錄或工作簿列表中的源工作簿,打開每個工作簿,保存轉換後的數據,然後依次關閉每個工作簿。
- 1. 將xlsx轉換爲txt製表符分隔 - 批處理
- 2. 將.XLS轉換爲製表符分隔.TXT
- 3. 將製表符分隔文件批量轉換爲xls
- 4. 無法將製表符分隔的.txt文件轉換爲csv
- 5. 如何XLSX轉換爲製表符分隔的文件
- 6. C#轉換的.xlsx爲.xls
- 7. Excel宏將xlsx轉換爲xls
- 8. 將Excel xlsx轉換爲Java中的xls
- 9. 將.xls轉換爲.xlsx的代碼
- 10. 將xls和xlsx轉換爲C#中的數據表#
- 11. 將xls文件轉換爲製表符分隔文件的異常
- 12. 更換的.xls或.xlsx以txt
- 13. XLS標記到XLSX轉換
- 14. 將sql ce錶轉換爲.xls或.xlsx格式
- 15. 如何將不帶分隔符的.txt文件轉換爲Excel
- 16. php excel到mysql。轉換xls和xlsx都
- 17. 使用vbs保存.xlsx作爲製表符分隔的.txt文件
- 18. C#VS2005轉換管道分隔.TXT到Excel工作簿。xls
- 19. 將製表符分隔的文本轉換爲數組
- 20. 將製表符/空格分隔行轉換爲嵌套數組
- 21. 將文件(csv,excel,製表符分隔)轉換爲XML
- 22. 將製表符分隔的文本文件轉換爲JSON
- 23. 如何將製表符分隔文件轉換爲CSV文件
- 24. 需要腳本來將逗號分隔文件轉換爲製表符分隔
- 25. 轉換XLS到XLSX在java中
- 26. 將ItemGroup轉換爲分隔字符串
- 27. Python將Excel文件(xls或xlsx)轉換爲ODS或從ODS轉換爲
- 28. 我可以使用okapi和java將doc轉換爲docx,ppt轉換爲pptx,xls轉換爲xlsx,反之亦然?
- 29. 如何使用ssis轉換一組xls 2製表符分隔的文件?
- 30. 將xls轉換爲xlsx無需互操作
您是否可以使您的Automator工作流程可用,以便我可以看到您擁有的解決方案? – Kaydell
多次使用Automator時,必須使用名爲「運行AppleScript」的Automator操作。 Excel支持AppleEvents,因此用AppleScript(或Python)編寫的腳本可以通過AppleEvents控制Excel。理想情況下,除GUI外,AppleEvents還爲您提供第二個用戶界面。 – Kaydell
獲取指定查找條目 - >打開Excel工作簿 - >保存Excel工作簿(下載http://automatorworld.com/archives/microsoft-office-automator-actions/,不內置) - >關閉Excel工作簿 ------------------------------------- 自定義「保存Excel工作簿」有一個下拉菜單選擇「新建」,「其他」和「新變量」作爲「另存爲」。在它下面,它有一個「格式」下拉菜單,其中包含許多默認Excel轉換工作流程沒有的選項。 –