-2

我是 Python 新手,遇到以下脚本问题:

#modules

import time
import os
import xlsxwriter

#the path for where all the things the progrem these should happen
PATH = r"C:\status\status"
#gives you the date and time used for the name of the mother file
DATE = time.strftime('%d,%m')

#creatss a file for xls
def xl():
    xl =  cyberboad = os.makedirs(r"C:\status\status" + '\\' + DATE + '\\' + "XL")

#creatss the file tree for cyberboard with one file for ech opration and xl workbooks in ech file with oprations file
def cyberboad():
    cyberboad = os.makedirs(r"C:\status\status" + '\\' + DATE + '\\' + "CYBERBOARD")
    #operations
    operation1010 = os.makedirs(r"C:\status\status" + '\\' + DATE + '\\' + "CYBERBOARD" + '\\' + "1010")
    os.chdir(r"C:\status\status" + '\\' + DATE + '\\' + "CYBERBOARD" + '\\' + "1010")
    workbook = xlsxwriter.Workbook('mazehim.xlsx')
    worksheet = workbook.add_worksheet()
    bold = workbook.add_format({'bold': True})
    worksheet.write('A1', 'getfile', bold)
    worksheet.write('C1', 'dir', bold)
    operation90247 = os.makedirs(r"C:\status\status" + '\\' + DATE + '\\' + "CYBERBOARD" + '\\' + "90247")
    #creates the xl workbook for ech file and writes in it get file,dir at the top of  colum A,C
    os.chdir(r"C:\status\status" + '\\' + DATE + '\\' + "CYBERBOARD" + '\\' + "90247")
    workbook = xlsxwriter.Workbook('mazehim.xlsx')
    worksheet = workbook.add_worksheet()
    bold = workbook.add_format({'bold': True})
    worksheet.write('A1', 'getfile', bold)
    worksheet.write('C1', 'dir', bold)
    operation9969 = os.makedirs(r"C:\status\status" + '\\' + DATE + '\\' + "CYBERBOARD" + '\\' + "9969")
    os.chdir(r"C:\status\status" + '\\' + DATE + '\\' + "CYBERBOARD" + '\\' + "9969")
    workbook = xlsxwriter.Workbook('mazehim.xlsx')
    worksheet = workbook.add_worksheet()
    bold = workbook.add_format({'bold': True})
    worksheet.write('A1', 'getfile', bold)
    worksheet.write('C1', 'dir', bold)
    operation90665 = os.makedirs(r"C:\status\status" + '\\' + DATE + '\\' + "CYBERBOARD" + '\\' + "90665")
    os.chdir(r"C:\status\status" + '\\' + DATE + '\\' + "CYBERBOARD" + '\\' + "90665")
    workbook = xlsxwriter.Workbook('mazehim.xlsx')
    worksheet = workbook.add_worksheet()
    bold = workbook.add_format({'bold': True})
    worksheet.write('A1', 'getfile', bold)
    worksheet.write('C1', 'dir', bold)
    operationmatchupzone = os.makedirs(r"C:\status\status" + '\\' + DATE + '\\' + "CYBERBOARD" + '\\' + "matchupzone")
    os.chdir(r"C:\status\status" + '\\' + DATE + '\\' + "CYBERBOARD" + '\\' + "matchupzone")
    workbook = xlsxwriter.Workbook('mazehim.xlsx')
    worksheet = workbook.add_worksheet()
    bold = workbook.add_format({'bold': True})
    worksheet.write('A1', 'getfile', bold)
    worksheet.write('C1', 'dir', bold)

#creatss the file tree for allrivers with one file for ech opration and xl workbooks in ech file with oprations file
def allrivers():
    allrivers = os.makedirs(r"C:\status\status" + '\\' + DATE + '\\' + "ALLRIVERS")
    #operations
    operation5553 = os.makedirs(r"C:\status\status" + '\\' + DATE + '\\' + "ALLRIVERS" + '\\' + "5553")
    os.chdir(r"C:\status\status" + '\\' + DATE + '\\' + "ALLRIVERS" + '\\' + "5553")
    workbook = xlsxwriter.Workbook('mazehim.xlsx')
    worksheet = workbook.add_worksheet()
    bold = workbook.add_format({'bold': True})
    worksheet.write('A1', 'getfile', bold)
    worksheet.write('C1', 'dir', bold)
    operation8256 = os.makedirs(r"C:\status\status" + '\\' + DATE + '\\' + "ALLRIVERS" + '\\' + "8256")
    os.chdir(r"C:\status\status" + '\\' + DATE + '\\' + "ALLRIVERS" + '\\' + "8256")
    workbook = xlsxwriter.Workbook(' mazehim.xlsx')
    worksheet = workbook.add_worksheet()
    bold = workbook.add_format({'bold': True})
    worksheet.write('A1', 'getfile', bold)
    worksheet.write('C1', 'dir', bold)
    operationeberkiss = os.makedirs(r"C:\status\status" + '\\' + DATE + '\\' + "ALLRIVERS" + '\\' + "emberkiss")
    os.chdir(r"C:\status\status" + '\\' + DATE + '\\' + "ALLRIVERS" + '\\' + "emberkiss")
    workbook = xlsxwriter.Workbook('mazehim.xlsx')
    worksheet = workbook.add_worksheet()
    bold = workbook.add_format({'bold': True})
    worksheet.write('A1', 'getfile', bold)
    worksheet.write('C1', 'dir', bold)
    operationlaguardia = os.makedirs(r"C:\status\status" + '\\' + DATE + '\\' + "ALLRIVERS" + '\\' + "laguardia")
    os.chdir(r"C:\status\status" + '\\' + DATE + '\\' + "ALLRIVERS" + '\\' + "laguardia")
    workbook = xlsxwriter.Workbook('mazehim.xlsx')
    worksheet = workbook.add_worksheet()
    bold = workbook.add_format({'bold': True})
    worksheet.write('A1', 'getfile', bold)
    worksheet.write('C1', 'dir', bold)
    operation1024 = os.makedirs(r"C:\status\status" + '\\' + DATE + '\\' + "ALLRIVERS" + '\\' + "1024")
    os.chdir(r"C:\status\status" + '\\' + DATE + '\\' + "ALLRIVERS" + '\\' + "1024")
    workbook = xlsxwriter.Workbook('mazehim.xlsx')
    worksheet = workbook.add_worksheet()
    bold = workbook.add_format({'bold': True})
    worksheet.write('A1', 'getfile', bold)
    worksheet.write('C1', 'dir', bold)

#calling the fenctions set above
cyberboad()
allrivers()
xl()

我知道这不是一个非常干净的脚本,它的作用是创建一个文件夹,然后在该文件夹中使用 module 创建一个 Excel 文件xlsxwriter

它工作正常,但有时不能。我究竟做错了什么?

谢谢你。

4

2 回答 2

1

它可以是很多东西,而且很难判断何时以这种方式编写代码。但这里有几个我注意到的问题:

  1. workbook一次又一次地覆盖你的。你应该创建一次。并使用相同的工作簿对象
  2. 您忘记关闭工作簿(只需workbook.close()在最后添加)
  3. 我不确定你xl是否符合你的意思。它只创建一个“XL”文件夹

请尝试简化代码并更好地解释问题所在。
你可以试试这个简化的代码:

import time
import os
import xlsxwriter

#the path for where all the things the progrem these should happen
PATH = r"C:\status\status"
#gives you the date and time used for the name of the mother file
DATE = time.strftime('%d,%m')
workbook = xlsxwriter.Workbook('mazehim.xlsx')
bold = workbook.add_format({'bold': True})

#creatss a file for xls
def xl():
    os.makedirs(PATH + '\\' + DATE + '\\' + "XL")

#creatss the file tree for cyberboard with one file for ech opration and xl workbooks in ech file with oprations file
def cyberboad():
    cyberboad = os.makedirs(r"C:\status\status" + '\\' + DATE + '\\' + "CYBERBOARD")    

    #operations
    for f in ["1010","90247","9969","90665","matchupzone"]:
        os.makedirs(PATH + '\\' + DATE + '\\' + "CYBERBOARD" + '\\' + f)
        os.chdir(PATH + '\\' + DATE + '\\' + "CYBERBOARD" + '\\' + f)
        worksheet = workbook.add_worksheet()
        worksheet.write('A1', 'getfile', bold)
        worksheet.write('C1', 'dir', bold)

#creatss the file tree for allrivers with one file for ech opration and xl workbooks in ech file with oprations file
def allrivers():
    allrivers = os.makedirs(r"C:\status\status" + '\\' + DATE + '\\' + "ALLRIVERS")
    #operations
    for f in ["5553","8256","emberkiss","laguardia","1024"]:
        os.makedirs(PATH + '\\' + DATE + '\\' + "ALLRIVERS" + '\\' + f)
        os.chdir(PATH + '\\' + DATE + '\\' + "ALLRIVERS" + '\\' + f)    
        worksheet = workbook.add_worksheet()    
        worksheet.write('A1', 'getfile', bold)
        worksheet.write('C1', 'dir', bold)

#calling the fenctions set above
cyberboad()
allrivers()
xl()

workbook.close()
于 2014-09-11T07:27:02.713 回答
0
import time
import os
import xlsxwriter

#the path for where all the things the progrem these should happen
PATH = r"C:\status\status"
#gives you the date and time used for the name of the mother file
DATE = time.strftime('%d,%m')


#creatss a file for xls
def xl():
    os.makedirs(PATH + '\\' + DATE + '\\' + "XL")

#creatss the file tree for cyberboard with one file for ech opration and xl workbooks in ech file with oprations file
def cyberboad():
    cyberboad = os.makedirs(r"C:\status\status" + '\\' + DATE + '\\' + "CYBERBOARD")

    #operations
    for f in ["1010","90247","9969","90665","matchupzone"]:
        os.makedirs(PATH + '\\' + DATE + '\\' + "CYBERBOARD" + '\\' + f)
        os.chdir(PATH + '\\' + DATE + '\\' + "CYBERBOARD" + '\\' + f)
        workbook = xlsxwriter.Workbook('mazehim.xlsx')
        worksheet = workbook.add_worksheet()
        bold = workbook.add_format({'bold': True})
        worksheet.write('A1', 'getfile', bold)
        worksheet.write('C1', 'dir', bold)
        workbook.close()

#creatss the file tree for allrivers with one file for ech opration and xl workbooks in ech file with oprations file
def allrivers():
    allrivers = os.makedirs(r"C:\status\status" + '\\' + DATE + '\\' + "ALLRIVERS")
    #operations
    for f in ["5553","8256","emberkiss","laguardia","1024"]:
        os.makedirs(PATH + '\\' + DATE + '\\' + "ALLRIVERS" + '\\' + f)
        os.chdir(PATH + '\\' + DATE + '\\' + "ALLRIVERS" + '\\' + f)
        workbook = xlsxwriter.Workbook('mazehim.xlsx')
        worksheet = workbook.add_worksheet()
        bold = workbook.add_format({'bold': True})
        worksheet.write('A1', 'getfile', bold)
        worksheet.write('C1', 'dir', bold)
        workbook.close()

#calling the fenctions set above
cyberboad()
allrivers()
xl()

嘿只是想让您知道代码现在按预期工作并且很高兴感谢您的帮助并祝您有美好的一天当然上面的代码是成品

于 2014-09-11T10:21:21.390 回答