[英]I keep getting the error: AttributeError: 'NoneType' object has no attribute 'strip'
[英]I am trying to import xml file with some empty attributes to table. getting this error AttributeError: 'NoneType' object has no attribute 'strip'
def XML_get_fields_and_types_and_data_levels_3(xml_file_name):
data_2d = []
for child in root:
grandchildren = child.findall(".//")
fields = []
types = []
data_1d = []
data_2d.append(data_1d)
for grandchild in grandchildren:
data_1d.append(convert_string_to_type(grandchild.text))
if grandchild.tag not in fields:
fields.append(grandchild.tag)
types.append(get_type_of_string(grandchild.text))
return (fields, types, data_2d)
def get_type_of_string(string):
clean_string = string.strip()
try:
if clean_string is not None:
clean_string = string.strip()
return string.strip()
if "." in clean_string:
clean_string = string.split()
if isinstance(clean_string, list):
point_or_segment = [float(i) for i in clean_string]
if len(point_or_segment) == 2:
return 'POINT'
else:
return 'LSEG'
else:
val = float(clean_string)
return 'REAL'
else:
val = int(clean_string)
return 'INTEGER'
except ValueError:
return 'TEXT'
問題是方法定義后的代碼行(loc),
def get_type_of_string(string): clean_string = string.strip()
那里的string
可能是None
,所以引發了異常。 建議您重新設計此方法,而不是為您重新編寫該方法(這對我來說很方便,但對您沒有太大幫助)。 這是我的提示:
split()
方法總是返回一個列表,無論是否找到分隔符, if isinstance(clean_string, list)
都不需要存在此行 val
為什么要進行這種轉換呢? 最簡單的評估變量類型的方法是使用isinstance()
內置方法,就像您在上面幾行所做的那樣。 希望這些提示可以幫助您。 享受編碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.