Python - 在 xlwt 中写入列表值
Python - Write list values in xlwt
我在 Python 中有 list 个 list。我想 将 个人列表写成 xlwt 中的一行。
datalist = [['India', 'Yes', '99%'], [['China', 'Yes', '89%'], ['Brazil', 'No', '90%']], ['Russia', 'Yes', '92%'], [['Germany', 'No', '97%'], ['Spain', 'No', '70%']]]
首先我计算了list的总数 def count(local_list):
def listcount(lst):
listsum = 0
for item in lst:
if not isinstance(l,list):
return 1
else:
listsum+= listcount(item)
return listsum
excel_export.py
import xlwt
book = xlwt.Workbook()
sheet = book.add_sheet("PySheet1")
for rownum in range(listcount(datalist)):
row = sheet.row(rownum)
for index, col in enumerate(datalist):
# do something similar like in listcount()
# check if instance is list if not then write the value
# rownum will act as a row
# column value will come from list item
row.write(row, col, val)
book.save("test.xls")
样本表
如何在适当的行和列中写入列表值?
一劳永逸地处理列表的怪异结构就简单多了:
datalist = [['India', 'Yes', '99%'], [['China', 'Yes', '89%'], ['Brazil', 'No', '90%']], ['Russia', 'Yes', '92%'],
[['Germany', 'No', '97%'], ['Spain', 'No', '70%']]]
new_datalist = []
for lst in datalist:
if isinstance(lst[0], list):
new_datalist.extend(lst)
else:
new_datalist.append(lst)
datalist = new_datalist
print(datalist)
输出:
[['India', 'Yes', '99%'], ['China', 'Yes', '89%'], ['Brazil', 'No', '90%'], ['Russia', 'Yes', '92%'], ['Germany', 'No', '97%'], ['Spain', 'No', '70%']]
现在您可以直接将值写入 sheet。你也可以去掉 listcount
.
我在 Python 中有 list 个 list。我想 将 个人列表写成 xlwt 中的一行。
datalist = [['India', 'Yes', '99%'], [['China', 'Yes', '89%'], ['Brazil', 'No', '90%']], ['Russia', 'Yes', '92%'], [['Germany', 'No', '97%'], ['Spain', 'No', '70%']]]
首先我计算了list的总数 def count(local_list):
def listcount(lst):
listsum = 0
for item in lst:
if not isinstance(l,list):
return 1
else:
listsum+= listcount(item)
return listsum
excel_export.py
import xlwt
book = xlwt.Workbook()
sheet = book.add_sheet("PySheet1")
for rownum in range(listcount(datalist)):
row = sheet.row(rownum)
for index, col in enumerate(datalist):
# do something similar like in listcount()
# check if instance is list if not then write the value
# rownum will act as a row
# column value will come from list item
row.write(row, col, val)
book.save("test.xls")
样本表
如何在适当的行和列中写入列表值?
一劳永逸地处理列表的怪异结构就简单多了:
datalist = [['India', 'Yes', '99%'], [['China', 'Yes', '89%'], ['Brazil', 'No', '90%']], ['Russia', 'Yes', '92%'],
[['Germany', 'No', '97%'], ['Spain', 'No', '70%']]]
new_datalist = []
for lst in datalist:
if isinstance(lst[0], list):
new_datalist.extend(lst)
else:
new_datalist.append(lst)
datalist = new_datalist
print(datalist)
输出:
[['India', 'Yes', '99%'], ['China', 'Yes', '89%'], ['Brazil', 'No', '90%'], ['Russia', 'Yes', '92%'], ['Germany', 'No', '97%'], ['Spain', 'No', '70%']]
现在您可以直接将值写入 sheet。你也可以去掉 listcount
.