0
私は現在のディレクトリ内のすべての.xlsファイルと.xlsxファイルを元のファイル名を保持したまま.csvに変換するスクリプトをPython 2.7で作成しようとしています。Python:複数のファイルをxlsからcsvに変換する
ここで他の類似の質問から助けを借りて(悲しいことに、私は借りたコードの断片のためのクレジットに誰かわからない)、ここで私がこれまで持っているものです:
import xlrd
import csv
import os
def csv_from_excel(xlfile):
wb = xlrd.open_workbook(xlfile)
sh = wb.sheet_by_index(0)
your_csv_file = open(os.path.splitext(sxlfile)[0], 'wb')
wr = csv.writer(your_csv_file, dialect='excel', quoting=csv.QUOTE_ALL)
for rownum in xrange(sh.nrows):
wr.writerow(sh.row_values(rownum))
your_csv_file.close()
for file in os.listdir(os.getcwd()):
if file.lower().endswith(('.xls','.xlsx')):
csv_from_excel(file)
私は2つの質問がある:
1)実行時のプログラムが1つのファイルのみを変換し、現在のディレクトリ内のすべてのファイルを反復処理しない理由を理解できません。
2)変換によって元のファイル名を保持する方法を理解できません。私。出力ファイルの名前が入力と同じであることを示します。
はglob
とpandas
を使用することになり、あなたに