我正在寻找一种将.csv文件目录快速转换为.xls或.xlsx格式的方法(如果可以执行/或,那会很好)。
有没有简单的方法可以执行此操作,或者我需要安装第三方程序?
我正在寻找一种将.csv文件目录快速转换为.xls或.xlsx格式的方法(如果可以执行/或,那会很好)。
有没有简单的方法可以执行此操作,或者我需要安装第三方程序?
Answers:
假设您喜欢并拥有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个Mrow的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')
您的问题还有很多话要说。
假设您的CVS文件的目录结构类似于
c:\randompath\CSV\
a.csv
b.csv
c.csv
:
:
z.csv
你想结束
c:\randompath\XLS\
a.xls
b.xls
c.xls
:
:
z.xls
我可以根据您愿意做的前期工作与清理工作的比例来考虑要走的三种路线。
请注意,我还没有编写任何代码来执行这些操作(但是)我只是提供一个起点的想法。也许如果您可以提供有关所需内容的更多详细信息,则可以从我或其他论坛成员处获得有关如何处理方法的更详细的说明。
对于Windows?CoolUtils“ Total CSV Converter ”命令行版本支持多种输出格式,包括JSON,Access,DBF,XML和SQL,仅售40美元。它可以递归子目录,删除原始CSV文件,将所有文件合并为一个文档等等。
http://www.coolutils.com/TotalCSVConverter
CSVConverter.exe <source> <destination> <options>
“ Advanced CSV Converter ”(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的“ Convert 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年8月停止使用。
ssconvert file.csv file.xlsx
如果您安装了Python,则“ csv2odf ”是一个开放源代码选项,它使用模板化的方法来生成ods,odt,html,xlsx或docx文件。
http://sourceforge.net/projects/csv2odf/
csv2odf data.csv template.odt output.xlsx