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

how to make a list from result of a function?

当我 运行 我的代码工作得很好并且生成了一个我命名为 exel.xlsx 的 excel 文件,但是 exel.xlsx.[=11 中没有任何信息=]

我想我在列清单时犯了一个错误,但我找不到解决办法。

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
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:$A'})

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

workbook.close()

这是 add_chart 的基本方法,然后将值添加到图表并插入图表。 但是您没有为您的图表增加任何价值。此外,您没有向 sheet 中的 column/row 添加任何值。 我 运行 您的代码,已创建名称为 "randomise" 的 sheet,但其中没有数据,因为您没有添加任何内容

已解决!

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)