如何将解析后的 xml 保存为 txt?
How can I save parsed xml as txt?
我已经解析 XML 列表,我想将其保存为 txt 文件。
但是出现错误..
如何将它保存到 txt..?
我是python的初学者,所以我不知道该怎么做。
我的xmlurl是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
我不知道接下来要做什么...
正如消息所说,它需要传递一个字符串。您可以简单地执行 write(str(categories))
以获得类似于 ['a', 'b', 'c']
或 [1, 2, 3]
的表示。如果您希望每一个都在一个新行或某种特定格式上,请循环 categories
并逐项写入文件。
您可以使用 str()
方法将列表 (categories
) 转换为字符串格式。
此外,每当您尝试 read
或 write
文件时,请尝试使用 with
语句。如果你几乎没有使用 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))
我已经解析 XML 列表,我想将其保存为 txt 文件。
但是出现错误..
如何将它保存到 txt..?
我是python的初学者,所以我不知道该怎么做。
我的xmlurl是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
我不知道接下来要做什么...
正如消息所说,它需要传递一个字符串。您可以简单地执行 write(str(categories))
以获得类似于 ['a', 'b', 'c']
或 [1, 2, 3]
的表示。如果您希望每一个都在一个新行或某种特定格式上,请循环 categories
并逐项写入文件。
您可以使用 str()
方法将列表 (categories
) 转换为字符串格式。
此外,每当您尝试 read
或 write
文件时,请尝试使用 with
语句。如果你几乎没有使用 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))