Массовое преобразование .xls и .xlsx в .txt (вкладка с разделителями) на Mac

У меня около 150 файлов .xls и .xlsx, которые мне нужно преобразовать в разделитель табуляции. Я попытался использовать автомат, но я смог сделать это только один за другим. Это определенно быстрее, чем открытие каждого из них индивидуально. У меня очень мало навыков написания сценариев, поэтому я был бы признателен за возможность сделать это безболезненно.

Если вы будете готовы использовать Python для этого, я написал сценарий, который преобразует таблицы Excel в файлы csv. Код доступен в Pastebin .

Вам просто нужно изменить следующую строку:

writer = csv.writer(fileout) 

чтобы:

 writer = csv.writer(fileout, delimiter="\t") 

чтобы сделать вкладку выходного файла с разделителем, а не стандартную запятую.

В этом случае этот скрипт предлагает вам файлы по одному (позволяет вам выбирать из диалога), но его можно легко адаптировать для получения всех файлов Excel в данном дереве каталогов или где имена соответствуют заданному шаблону ,

Если вы сначала попробуете с отдельным файлом и дайте мне знать, как вы справляетесь, я могу помочь с изменениями, чтобы автоматизировать остальные, если хотите.

ОБНОВИТЬ

Вот сценарий оболочки, который вы можете использовать:

 #!/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 или переменная среды в вашей системе.

Используйте VBA в рабочей книге управления, чтобы прокручивать исходные книги в указанном каталоге или списке книг, открывая каждый, сохраняя преобразованные данные, а затем закрывая их поочередно.

  • Проблема капитализации с Workbooks.Open с использованием VBA в Excel 2016
  • Макрос для сохранения каждого листа в книге в файл CSV
  • Вставка новой строки в формулу Excel (MacOS)
  • как открыть файл excel в MAC из сетевого местоположения или общей папки с помощью VBA?
  • & кинжал и & Кинжал в Excel на Mac
  • Нечетная ошибка с использованием IronPython с Mono
  • Что такое типы файлов macid в excel vba
  • Окна VBA для Mac
  • Ошибка компиляции: не удается найти проект или библиотеку (OSX)
  • Кодирование символов Yosemite, отличное от мусора на сайте MySQL
  • Excel AddIn в Excel 2011 для MAC
  • Давайте будем гением компьютера.