[英]NoneType: TypeError: 'tuple' object does not support item assignment
我正在阅读带有 openpyxl 的 Excel 文件,并且行被解析为元组对象。 元组中的对象之一可以是 NoneType。 进一步将代码行与其他行进行比较。 最后这些行没有 NoneType,而是一个空字符串 object,这妨碍了比较。 因此,我使用以下代码将 NoneType 替换为空字符串 object。
for row in previous_worksheet.iter_rows(values_only=True):
print("row " + str(type(row)))
for x in range(len(list(row))):
print(type(row[x]))
if row[x] is None:
print(row[x])
row[x] = ""
运行此代码会给我以下 output:
row <class 'tuple'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'str'>
<class 'NoneType'>
None
Traceback (most recent call last):
File "C:\PycharmProjects\SecuniaComparer\secunia_comparer.py", line 187, in <module>
main()
File "C:\PycharmProjects\SecuniaComparer\secunia_comparer.py", line 182, in main
sc.start_parsing()
File "C:\PycharmProjects\SecuniaComparer\secunia_comparer.py", line 71, in start_parsing
row[x] = ""
TypeError: 'tuple' object does not support item assignment
object 是 NoneType,但分配空字符串会导致元组 object 出现 TypeError。 我怎样才能解决这个问题?
我的错,创建一个新列表 object 解决了这个问题。
temp_row = list(row)
for x in range(len(temp_row)):
if temp_row[x] is None:
temp_row[x] = ("")
self.previous_results.append(tuple(temp_row))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.