我已解析XML列出,我想将其另存为txt文件。
但是有一个错误。
如何将其保存到txt ..?
我是python的入门者,所以我不知道该怎么做。
我的xml网址是https://pvxml.map.naver.com/api/get?type=xml&pano_id=/c7VUP7/zsr2UT/De2VlQA==&rv=3
我想解析street_panorama ID。
import os
import urllib.request as urllib from xml.dom
import minidom
with open ('list.txt','w') as f:
f.write('C:/Users/JYLEE/Desktop/python/exercise')
url = 'https://pvxml.map.naver.com/api/get?type=xml&pano_id=/c7VUP7/zsr2UT/De2VlQA==&rv=3'
dom = minidom.parse(urllib.urlopen(url))
link = dom.getElementsByTagName('street_panorama')
categories = [items.attributes['id'].value for items in link if items.attributes['id']]
f.write(categories)
错误消息为TypeError: write() argument must be str, not list
我不知道下一步该怎么做...
答案 0 :(得分:0)
如消息所示,它需要传递一个字符串。您可以简单地执行write(str(categories))
来获得类似于['a', 'b', 'c']
或[1, 2, 3]
的表示形式。如果您希望每行都换行或采用某种特定格式,请循环categories
并逐项写入文件。
答案 1 :(得分:0)
您可以使用categories
方法将列表(str()
)转换为字符串格式。
此外,每当尝试with
或read
文件时,都尝试使用write
语句。如果您几乎不使用read
或write
命令,则在使用f.close()
命令后应关闭文件。
如果您使用with
命令,这会自动进行。
这是您的更正代码,供您参考
import os
import urllib.request as urllib
from xml.dom import minidom
with open("list1.txt",'w') as f:
f.write('C:/Users/JYLEE/Desktop/python/exercise')
url = 'https://pvxml.map.naver.com/api/get?type=xml&pano_id=/c7VUP7/zsr2UT/De2VlQA==&rv=3'
dom = minidom.parse(urllib.urlopen(url))
link = dom.getElementsByTagName('street_panorama')
categories = [items.attributes['id'].value for items in link if items.attributes['id']]
with open("list1.txt",'w') as f:
f.write(str(categories))