我一直在寻找自动导入一些文件,但由于我在Windows上,我得到了Unicode错误(因为“C:\用户\ …”)。 我一直在寻找纠正这个错误,并发现一些提示(使用r“ MyString ”或u“ MyString ”为原始和unicodestring),我已被定向到此页面( https://docs.python.org/3 /howto/unicode.html )。
但由于我的问题是关于一个GUI界面来自动导入一些文件,我还没有想出办法做到这一点。
我会在这里给你留言:
file = file.replace('\\', '//') file = r"MyFilePath" file = u"MyFilePath" file = os.path.abspath("MyFilePath") file = "MyFilePath".decode('latin1') """ isn't correct because a string has no attribute 'decode' of course """
其中一个似乎是好的,但我不知道如何让python明白,我想复制后面的r或你的path。
还是有办法告诉Python:
file = StopThinkingWithUnicode("MyFilePath")
我也看到这个链接( 在Python mkdtemp处理unicode用户名 ),但也不工作(我已经更正了print()函数,因为Python2.7编写,我在3.5)
我已经忘记发布追踪,所以它是:
MyFilePath = "C:\Users\MyUser\Desktop\Projet\05_Statistiques\Data\MyFileName.xlsx" File "<ipython-input-13-d8c2e72a6d3f>", line 1 MyFilePath = "C:\Users\MyUser\Desktop\Projet\05_Statistiques\Data\MyFileName.xlsx" ^ SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \UXXXXXXXX escape
有人可以帮助我一些提示或链接? 感谢您的帮助。
PS:我试过在脚本的第一行设置:
# -*- coding: latin-1 -*-
(我有* .xl,* .csv,* .sas7bdat,* .txt文件)
这是Windows路径非常频繁的问题。 我怀疑是人们偶然发现的,并且用大写的方式把“恼人的”小写字母与转义序列( \n
, \t
, \b
, \a
, \v
, \x
…)相匹配。 它工作,除了\U
(这是Unicode代码转义序列)和\N
真正的解决方案是使用原始前缀来从字面上处理反斜杠:
MyFilePath = r"C:\Users\MyUser\Desktop\Projet\05_Statistiques\Data\MyFileName.xlsx" ^
编辑:我的理论是关于“大写错误避免确认。检查在这个问题的路径: 一个csv python中的最大行数可以处理?