xlsx轉csv

#! python3
# -*- coding:utf-8 -*-
# saveE2Csv.py - 將工作區的xlsx文件全部轉換成csv格式的文件
# Excel中的每張表都是單獨的csv文件



import csv, openpyxl, os
from openpyxl.utils import get_column_letter

os.makedirs('Excel2CSV', exist_ok = True)

for filename in os.listdir('.'):
	if not filename.endswith('.xlsx'):
		continue
		
	wb = openpyxl.load_workbook(filename, data_only =True)
	
	for sheet in wb.sheetnames:
		cfn = os.path.join('Excel2CSV', filename.strip('.xlsx') + '_' + wb[sheet].title + '.csv')
		f = open(cfn, 'w', newline='')
		ws = wb[sheet]
		
		for row in range(1, ws.max_row + 1):
			r = []
			
			for col in range(1, ws.max_column + 1):
				if ws[get_column_letter(col) + str(row)].value != None:
					r.append(ws[get_column_letter(col) + str(row)].value)
					
			csv.writer(f).writerow(r)
		f.close()

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章