Python 打开文件并读取数据

Python 打开文件并读取数据,python,filereader,Python,Filereader,因此,我使用这些代码行来读取Excel文件 fin=open("C:\Users\Student\Desktop\Python Coding\bodyfat.csv",'rU') fin.readline() 然而,我一直收到这个错误声明,我不知道发生了什么 >>> fin=open("C:\Users\Student\Desktop\Python Coding\bodyfat.csv",'rU') Traceback (most recent call last): F

因此,我使用这些代码行来读取Excel文件

fin=open("C:\Users\Student\Desktop\Python Coding\bodyfat.csv",'rU')
fin.readline()
然而,我一直收到这个错误声明,我不知道发生了什么

>>> fin=open("C:\Users\Student\Desktop\Python Coding\bodyfat.csv",'rU')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
IOError: [Errno 22] invalid mode ('rU') or filename: 'C:\\Users\\Student\\Desktop\\Python Coding\x08odyfat.csv'
>>> fin.readline()
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'fin' is not defined
>>fin=open(“C:\Users\Student\Desktop\Python Coding\bodyfat.csv”,“rU”)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
IOError:[Errno 22]无效模式('rU')或文件名:“C:\\Users\\Student\\Desktop\\Python编码\x08odyfat.csv”
>>>fin.readline()
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
名称错误:未定义名称“fin”

知道这里发生了什么吗?

您没有正确地避开字符串反斜杠。注意,回溯中显示“Coding\x08odyfa”。可以使用原始字符串

r"C:\Users\Student\Desktop\Python Coding\bodyfat.csv"
或者逃逸

"C:\\Users\\Student\\Desktop\\Python Coding\\bodyfat.csv"

您没有正确地转义字符串反斜杠。注意,回溯中显示“Coding\x08odyfa”。可以使用原始字符串

r"C:\Users\Student\Desktop\Python Coding\bodyfat.csv"
或者逃逸

"C:\\Users\\Student\\Desktop\\Python Coding\\bodyfat.csv"

出现第一个错误的原因是,在标准Python字符串中,反斜杠会对其后面的字符产生有趣的影响(有关详细信息,请参阅):

发生第二个错误是因为在第一个错误发生后,
fin
从未分配

最简单的修复方法是使用“原始字符串”(前缀为
r
),以指示反斜杠应被视为普通字符:

>>> r"C:\Users\Student\Desktop\Python Coding\bodyfat.csv"
'C:\\Users\\Student\\Desktop\\Python Coding\\bodyfat.csv'
(不要担心加倍,这只是Python表示这些是文字反斜杠的方式,而不是转义后面的字符。)

此外,您还应将
的“上下文管理器”一起用于文件处理:

with open(r"...") as fin:
    line = fin.readline()
    ...

出现第一个错误的原因是,在标准Python字符串中,反斜杠会对其后面的字符产生有趣的影响(有关详细信息,请参阅):

发生第二个错误是因为在第一个错误发生后,
fin
从未分配

最简单的修复方法是使用“原始字符串”(前缀为
r
),以指示反斜杠应被视为普通字符:

>>> r"C:\Users\Student\Desktop\Python Coding\bodyfat.csv"
'C:\\Users\\Student\\Desktop\\Python Coding\\bodyfat.csv'
(不要担心加倍,这只是Python表示这些是文字反斜杠的方式,而不是转义后面的字符。)

此外,您还应将
的“上下文管理器”一起用于文件处理:

with open(r"...") as fin:
    line = fin.readline()
    ...