df = pd.read_csv(r"Path_name")
提前致谢
答案 0 :(得分:11)
在Python中,反斜杠用于表示特殊字符。
e.g。 “hello \ nworld” - “\ n”表示换行符。尝试打印它。
Windows上的路径名称往往包含反斜杠。但是我们希望它们意味着实际的反斜杠,而不是特殊字符。
r代表“raw”,会导致字符串中的反斜杠被解释为实际的反斜杠而不是特殊字符。
e.g。 r“hello \ nworld”字面意思是字符“hello \ nworld”。再次尝试打印它。
Python文档中有更多信息,搜索这些问题是个好主意。
https://docs.python.org/3/tutorial/introduction.html#strings
答案 1 :(得分:1)
r
可能位于路径字符串之前。
r'C:\Users\username'
有效r'C:\Users\username\'
不会,因为结尾的\
会逸出'
。
r'C:\Users\username\' + file
,其中file = 'test.csv'
也不起作用SyntaxError: EOL while scanning string literal
pandas
方法将读取文件,例如pandas.read_csv
将接受str
或pathlib
对象作为文件路径。f-string
添加文件名。
num = 6
,f'I have {num} files'
解释为'I have 6 files'
,是使用f-string
的示例。import pandas as pd
files = ['test1.csv', 'test2.csv', 'test3.csv']
df_list = list()
for file in files:
df_list.append(pd.read_csv(rf'C:\Users\username\{file}')) # path with f-string
df = pd.concat(df_list)
答案 2 :(得分:0)
在大多数情况下,原始字符串将处理反斜杠,例如以下两个示例:
In [11]:
r'c:\path'
Out[11]:
'c:\\path'
但是,如果有一个尾部斜杠,那么它将会中断:
In [12]:
r'c:\path\'
File "<ipython-input-12-9995c7b1654a>", line 1
r'c:\path\'
^
SyntaxError: EOL while scanning string literal
正斜杠没有这个问题:
In [13]:
r'c:/path/'
Out[13]:
'c:/path/'
安全且可移植的方法是始终使用正斜杠,如果为完整路径构建字符串以使用os.path
来正确处理构建在不同操作系统上执行代码时将起作用的路径: / p>
In [14]:
import os
path = 'c:/'
folder = 'path/'
os.path.join(path, folder)
Out[14]:
'c:/path/'