Windows10下XML转CSV报错IOError [Errno22]:文件名或模式无效
解决XML转CSV时的IOError: [Errno 22] 无效文件名问题
嘿,这个问题我之前也踩过坑!根源一眼就能看出来——你的文件路径里藏了个隐形的特殊字符(错误信息里的\xe2\x80\xaa,也就是左到右标记LTR),这大概率是你复制路径时从别处带进来的,Windows系统根本识别不了这种看不见的字符,所以才报了无效文件名的错误。
给你两个简单直接的解决办法:
手动清理路径里的隐形字符
你可以把当前的路径复制到记事本里,就能看到这个隐形字符(有时候会显示成小方框或者奇怪的符号),直接删掉它就行。修改后的代码如下:# -*- coding: utf-8 -*- from xmlutils.xml2csv import xml2csv # 去掉了路径开头的隐形字符 converter = xml2csv("E:\\Downloads\\29th March abcFTP Files\\Mar18\\Mar18\\BOH_290318.xml", "C:\\Users\\hi\\Desktop\\boh111.csv", encoding="utf-8") converter.convert(tag="item")用原始字符串简化路径写法(可选)
在Python里处理Windows路径,还可以用原始字符串(在路径前加r),这样就不用写双反斜杠转义了,既方便又不容易出错:# -*- coding: utf-8 -*- from xmlutils.xml2csv import xml2csv converter = xml2csv(r"E:\Downloads\29th March abcFTP Files\Mar18\Mar18\BOH_290318.xml", r"C:\Users\hi\Desktop\boh111.csv", encoding="utf-8") converter.convert(tag="item")
另外提醒下,以后复制Windows路径时,尽量手动选中地址栏里的内容再复制,别直接用右键菜单的“复制路径”,有时候会莫名其妙带上这种隐形字符哦。
内容的提问来源于stack exchange,提问作者nick
相关产品推荐
相关产品推荐

