如何根据函数的结果制作一个列表?

问题描述 投票:-1回答:2

当我运行我的代码时,它运行得很好,并生成一个名为exel.xlsx的excel文件,但exel.xlsx中没有任何信息。

我认为我在列表中犯了一个错误,但我找不到解决方案。

def randStr(length=7):
    characters = list('bcdghijkmnpqrtuvwxyz23456789')
    shuffle(characters)
    exel = ''.join(characters[:length])
    listb = [exel]
    listb.append(exel)
    workbook = xlsxwriter.Workbook('Exel.xlsx')
    worksheet = workbook.add_worksheet('randomise')
    chart = workbook.add_chart({'type': 'line'})
    expenses = (listb)
    row = 0
    col = 0
    workbook.close()
    return exel
python python-3.x python-2.7 list xlsxwriter
2个回答
0
投票
import xlsxwriter

workbook = xlsxwriter.Workbook('chart_line.xlsx')
worksheet = workbook.add_worksheet()

# Add the worksheet data to be plotted.
data = [10, 40, 50, 20, 10, 50]
worksheet.write_column('A1', data)

# Create a new chart object.
chart = workbook.add_chart({'type': 'line'})

# Add a series to the chart.
chart.add_series({'values': '=Sheet1!$A$1:$A$6'})

# Insert the chart into the worksheet.
worksheet.insert_chart('C1', chart)

workbook.close()

这是add_chart的基本方法,然后将值添加到图表并插入图表。但是您没有为图表添加任何值。此外,您不会向工作表中的列/行添加任何值。我运行了你的代码,创建了名为“randomise”的工作表,但没有数据,因为你还没有添加任何东西


0
投票

解决了!

def randStr(length=7):

    characters = list('bcdghijkmnpqrtuvwxyz23456789')
    shuffle(characters)
    listc=''.join(characters[:length])

    return listc

listb=[]

if __name__ == '__main__':
    for i in range(20):
        value1=(randStr())
        listb.append(value1)
        workbook = xlsxwriter.Workbook('Exel.xlsx')
        worksheet = workbook.add_worksheet('randomise')
        worksheet.write_column(0,0,listb)
        chart = workbook.add_chart({'type': 'line'})
        expenses =(listb)
        row = 0
        col = 0
        workbook.close()
        img = makeImage(value1, width=512)
        with open('%d.png' % i, 'wb') as f:
            f.write(img)
        print (i)
© www.soinside.com 2019 - 2024. All rights reserved.