簡體   English   中英

用xlsxwriter python編寫多個Excel文件

[英]write multiple excel files with xlsxwriter python

有沒有辦法用xlsxwriter創建多個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文件。 有辦法嗎?

該錯誤表明,您將文件的路徑相互疊加了2次:

'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()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM