【发布时间】:2022-01-19 21:39:20
【问题描述】:
我正在将 xml 文件转换为 csv。我发现我无法将.text 用于elem。它说:
AttributeError: 'NoneType' 对象没有属性 'text'
cols = ["fieldDeviceID", "lastUpdateTime", "locStatus", "deviceStatus",
"owningAgencyID", "locationTimeStamp", "volume", "occupancy", "speed", "detectorizationRatio"]
rows = []
with gzip.open(gz_files[1], 'rb') as f:
tree = ET.parse(f)
root = tree.getroot()
for elem in root.iter():
fieldDeviceID = elem.find("fieldDeviceID").text
lastUpdateTime = elem.find("lastUpdateTime").text
locStatus = elem.find("locStatus").text
deviceStatus = elem.find("deviceStatus").text
owningAgencyID = elem.find("owningAgencyID").text
locationTimeStamp = elem.find("locationTimeStamp").text
volume = elem.find("volume").text
occupancy = elem.find("occupancy").text
speed = elem.find("speed").text
detectorizationRatio = elem.find("detectorizationRatio").text
rows.append({"fieldDeviceID": fieldDeviceID,
"lastUpdateTime": lastUpdateTime,
"locStatus": locStatus,
"deviceStatus": deviceStatus,
"owningAgencyID": owningAgencyID,
"locationTimeStamp": locationTimeStamp,
"volume": volume,
"occupancy": occupancy,
"speed": speed,
"detectorizationRatio": detectorizationRatio})
df = pd.DataFrame(rows, columns=cols)
我该如何解决?
【问题讨论】:
-
如果
elem.find('...')没有找到任何东西,它会返回 none,当您执行None.text时会发生什么?你得到一个错误。