Как пакетная конвертация.csv to.формате XLS/XLSX-файл

Я ищу способ быстро преобразовать каталог .csv файлы в .xls или .формат xlsx (было бы неплохо, если бы я мог сделать либо/или).

есть ли простой способ сделать это или мне нужно установить стороннюю программу?

16
задан mindless.panda
13.05.2023 15:14 Количество просмотров материала 2609
Распечатать страницу

5 ответов

предполагая, что вам нравится и у вас есть Python (по какой-то причине), вы можете использовать этот скрипт, который я взбитый:

import os
import glob
import csv
import xlwt # from http://www.python-excel.org/

for csvfile in glob.glob(os.path.join('.', '*.csv')):
    wb = xlwt.Workbook()
    ws = wb.add_sheet('data')
    with open(csvfile, 'rb') as f:
        reader = csv.reader(f)
        for r, row in enumerate(reader):
            for c, val in enumerate(row):
                ws.write(r, c, val)
    wb.save(csvfile + '.xls')

побежал в каталоге со всеми файлами CSV, он будет конвертировать их все и хлопнуть".xls " на конец.

для Excel 2007+ (xlsx-файлы) поддержка до 1 Мроу:

import os
import glob
import csv
import openpyxl # from https://pythonhosted.org/openpyxl/ or PyPI (e.g. via pip)

for csvfile in glob.glob(os.path.join('.', '*.csv')):
    wb = openpyxl.Workbook()
    ws = wb.active
    with open(csvfile, 'rb') as f:
        reader = csv.reader(f)
        for r, row in enumerate(reader, start=1):
            for c, val in enumerate(row, start=1):
                ws.cell(row=r, column=c).value = val
    wb.save(csvfile + '.xlsx')
20
отвечен Nick T 2023-05-14 23:02

здесь это скрипт perl, который якобы делает это, но кажется, что много работы, чтобы сделать что-то, что уже встроено в Excel.

1
отвечен Kirk 2023-05-15 01:19

в вашем вопросе много осталось недосказанным.

предполагая, что ваши CVS файлы находятся в структуре каталогов, подобной

c:\randompath\CSV\
    a.csv
    b.csv
    c.csv
      :
      :
    z.csv

и вы хотите, чтобы в конечном итоге с

c:\randompath\XLS\
    a.xls
    b.xls
    c.xls
      :
      :
    z.xls

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

  1. без предварительного кодирования: используйте Проводник Windows для перехода к CSV-файлам используйте любой метод, который лучше всего подходит для выбора файлов для преобразования (лассо, ctrl+A, ctrl + click, shift + click) затем щелкните правой кнопкой мыши один из выбранных файлов и нажмите кнопку Открыть. Это откроет все файлы в Excel. Затем для каждого файла вы можете выбрать "файл" и "сохранить как" и, наконец, выбрать новый формат файла, который вы хотите сохранить.
  2. простой пакетный файл: этот пакетный файл может использовать подстановочные знаки и / или для каждой структуры цикла, чтобы открыть каждый из файлов CSV для вас, а затем вы можете вручную обрабатывать их, как и раньше.
  3. создать VBA программа в электронной таблице Excel: VBA может автоматически открывает каждый файл CSV, а затем сохраняет его в формате Excel. Вы даже можете добавить простое окно сообщения, которое предлагает выбор xls или xlsx при открытии каждого файла.

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

1
отвечен TedNewk 2023-05-15 03:36

Для Windows? CoolUtils"Total CSV Converter" версия командной строки поддерживает множество выходных форматов включая JSON, Access, DBF, XML и SQL и только $ 40. Он может рекурсивно подкаталоги, удалять исходные файлы CSV, объединить все файлы в один документ, и многое другое.

http://www.coolutils.com/TotalCSVConverter

CSVConverter.exe <source> <destination> <options>

"расширенный конвертер CSV" ($40-200) - это портативный EXE-файл, который может сделать это быстро и без необходимости установки Excel.

http://www.dbf2002.com/csv-converter/commandline.html

"c:\Program Files\CSV Converter\csvcnv.exe" c:\base\*.csv c:\exports\ /TOXLSX /SRCHDR

SoftInterface"преобразовать XLS" может использовать Excel (но не требуется) и дороже ($500+), но поддерживает больше форматов и имеет больше возможностей.

http://www.softinterface.com/Convert-XLS/Convert-XLS.htm

"c:\Program Files (x86)\Softinterface, Inc\Convert XLS\ConvertXLS.exe" /V /S"c:\base\*.csv" /T"c:\exports\*.xlsx" /F6 /C51 /M2

"Gnumeric"-электронная таблица с открытым исходным кодом программа, которая может выполнять прямое преобразование, но была прекращена для Windows в августе 2014 года.

http://www.gnumeric.org/

ssconvert file.csv file.xlsx

если у Вас установлен Python,"csv2odf " является опцией с открытым исходным кодом и использует шаблонный подход для создания ods, odt, html, xlsx или docx файлов.

http://sourceforge.net/projects/csv2odf/

csv2odf data.csv template.odt output.xlsx
0
отвечен user326177 2023-05-15 05:53

простой способ: откройте csv-файл из Microsoft Excel, преобразуйте текст в столбцы (выберите ячейки/текст, нажмите меню - Данные - текст в Столбцы) установите опцию для преобразования.

-1
отвечен elaif 2023-05-15 08:10

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх