.csvファイルのディレクトリを.xlsまたは.xlsx形式にすばやく変換する方法を探しています(どちらかまたは両方を実行できると便利です)。
これを行う簡単な方法はありますか、それともサードパーティのプログラムをインストールする必要がありますか?
.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')
あなたの質問には、言い残しがたくさんあります。
CVSファイルが次のようなディレクトリ構造にあると仮定します
c:\randompath\CSV\
a.csv
b.csv
c.csv
:
:
z.csv
そしてあなたは終わりにしたい
c:\randompath\XLS\
a.xls
b.xls
c.xls
:
:
z.xls
事前作業とクリーンアップ作業の比率に応じて、3つのルートを考えることができます。
これらのことを行うためのコードはまだ作成していないことに注意してください(まだ)出発点のアイデアを提供しています。多分あなたがあなたが欲しいものについてより詳細を与えることができれば、私または別のフォーラムのメンバーからのアプローチを処理する方法についてのより詳細な説明を得ることができます。
Windowsの場合 CoolUtils「Total CSV Converter」コマンドラインバージョンは、JSON、Access、DBF、XML、SQLを含む多くの出力形式をサポートし、たったの$ 40です。サブディレクトリの再帰、元のCSVファイルの削除、すべてのファイルの1つのドキュメントへの結合などが可能です。
http://www.coolutils.com/TotalCSVConverter
CSVConverter.exe <source> <destination> <options>
「Advanced CSV Converter」(40〜200ドル)は、Excelをインストールしなくてもすばやく実行できるポータブルEXEです。
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
Node 8+とbashの場合:
npm install -g pguardiario/csv2xlsx
for file in *.csv; do csv2xlsx "$file"; done