如何批量转换.csv到.xls / xlsx

Modified on: Sun, 23 Dec 2018 18:40:03 +0800

我正在寻找一种方法,可以快速将.csv文件的目录转换为.xls或.xlsx格式(如果我可以这样做,那将会很好。)

是否有简单的方法可以执行此操作,还是需要安装第三方程序?

最佳答案

假设你喜欢并拥有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”打到最后。

对于支持最多约1个Mrows的Excel 2007+(xlsx文件):

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')
作者:,Nick T

相关问答

添加新评论