python - for循环多值
问题描述
我的脚本如下:
import xlsxwriter
import subprocess
workbook = xlsxwriter.Workbook('demo.xlsx')
worksheet = workbook.add_worksheet('NMOC')
bold = workbook.add_format({'bold': True})
# Write some data headers.
worksheet.write('A1', 'RNC', bold)
worksheet.write('B1', 'CELL', bold)
for line in open('/root/Desktop/Scripting/Update_Table/eaw/test.txt'):
alias = line.rstrip("\n").split(';')
print(alias)
# Start from the first cell. Rows and columns are zero indexed.
row = 1
col = 0
for rnc, cell in (alist):
worksheet.write(row,col, rnc)
worksheet.write(row,col + 1, cell)
row += 1
workbook.close()
我正在使用 python 3.5 版本。这是我得到的错误:
['BSC19', 'TS9001']
['BSC19', 'TS555']
Traceback (most recent call last):
File "test.py", line 53, in <module>
for rnc, cell in (alias):
ValueError: too many values to unpack (expected 2)
我的代码有什么问题?
[root@nocjobs eaw]# cat test.txt
BSC19;TS9001
BSC19;TS555
解决方案
我敢打赌问题就在这里->for rnc, cell in (alist):
因为在某些迭代中(甚至可能是第一次) varalist
仅包含一个值,但您尝试将其解压缩为tuple(rnc, cell)
.
据我了解,你想做这样的事情:
row = 1
for line in open('test.txt'):
alist = line.rstrip("\n").split(';')
col = 0
for value in (alist):
worksheet.write(row, col, value)
col += 1
row += 1
推荐阅读
- java - 如何使用 JSqlParser 添加新条件?
- c++ - 我想详细了解 C++ 中表达式和语句之间的区别。请选择具体的例子来解释
- rest - 从 Google App Script 调用 REST API Magento 2 出现问题 - ROBOTS Exception
- android - [Android.Emulator].无法将文件推送到 Android Q 和 R 上的 /system 文件夹
- api - Salesforce REST API upsert 不更新或插入记录
- gml - 如何向四个方向(0°、90°、180°、270°)发射四颗子弹?
- java - 如何在 JMenu 中获取选定的 JRadioButtonMenuItem?
- amazon-s3 - java.lang.ClassNotFoundException:AWS EMR 集群上的 com.mysql.jdbc.Driver
- android - 我正在测试的一个开源应用程序隐藏了一个活动类,如何?
- java - 尺寸不能与类型相匹配