用xlsxwriter python写多个excel文件
有没有办法用xlsxwriter创build多个excel文件?
from itertools import chain import glob ,csv, sys, os openSoundingFile = 'D:/apera/Workspace/Sounding2/*.txt' for filename in glob.glob(openSoundingFile): newName = filename spamReader = csv.reader(open(filename, 'rb'), delimiter=';',quotechar='"') workbook = xlsxwriter.Workbook('D:/apera/Workspace/Sounding2/' + newName[:-4] + '.xlsx' sheet = workbook.add_worksheet('Original data') for rowx, row in enumerate(spamReader): for colx, value in enumerate(row): sheet.write(rowx, colx, value) workbook.close()
所以我想保存所有的txt文件exel文件。 我认为问题在这里
workbook = xlsxwriter.Workbook('D:/apera/Workspace/Sounding2/' + newName[:-4] + '.xlsx'
如果我不使用+ newName[:-4] +
它将工作,但只写1 excel文件。 有没有办法做到这一点?
该错误表明,您将文件的path结合到两个文件之上:
'D:/apera/Workspace/Sounding2/bla.txtD:/apera/Workspace/Sounding2/'
这对我来说是这样的:
import xlsxwriter import glob ,csv openSoundingFile = 'D:/apera/Workspace/Sounding2/*.txt' for filename in glob.glob(openSoundingFile): spamReader = csv.reader(open(filename, 'rb'), delimiter=';',quotechar='"') # Note that filename is the full path already! Just [:-4] to remove .txt workbook = xlsxwriter.Workbook(filename[:-4] + '.xlsx') sheet = workbook.add_worksheet('Original data') for rowx, row in enumerate(spamReader): for colx, value in enumerate(row): sheet.write(rowx, colx, value) workbook.close()