寫在前面
在用pd.read_csv讀取數(shù)據(jù)集時(shí),我有2個(gè)疑問(wèn)?1是:寫相對(duì)路徑還是絕對(duì)路徑。2是:相對(duì)路徑,絕對(duì)路徑怎么寫。這篇文章就是解決以上兩個(gè)問(wèn)題。如果這個(gè)腳本只是在自己電腦上,都可以無(wú)所謂,但是如果別人也想用你的腳本,我認(rèn)為相對(duì)路徑還是比較好的,數(shù)據(jù)集和腳本一起拷貝給別人,如果環(huán)境沒(méi)問(wèn)題的話路徑不用修改就可以直接運(yùn)行,如果你用絕對(duì)路徑的話,別人拿到之后還得自己修改路徑。
出現(xiàn)的問(wèn)題
報(bào)錯(cuò),這個(gè)路徑?jīng)]找到文件,路徑寫錯(cuò)了。 
解決問(wèn)題
一般是數(shù)據(jù)集與你的腳本在一個(gè)文件夾下。 我用的是絕對(duì)路徑 第1步打印腳本所在的路徑
import os
os.getcwd()
print(os.getcwd())

第2步 加上你的數(shù)據(jù)集路徑
train = pd.read_csv('F:\\pythonProject3\\data\\data\\train.csv')
下面是我的腳本和數(shù)據(jù)集的文件。 
第3步測(cè)試一下
print(train)

用相對(duì)路徑讀取數(shù)據(jù)集
前提數(shù)據(jù)集與腳本不在同一個(gè)文件下,但同在上一級(jí)文件夾。就是下面這種情況。  讀取文件方式
train = pd.read_csv('..\\train.csv')
圖中的“..” 表示是當(dāng)前所處的文件夾上一級(jí)文件夾的絕對(duì)路徑。也就是我下圖中data路徑
F:\pythonProject3\data\data
實(shí)在不理解可以自己試試
import os
path1=os.path.abspath('.') #表示當(dāng)前所處的文件夾的絕對(duì)路徑
print("path1@@@@@",path1)
path2=os.path.abspath('..') ## 表示當(dāng)前所處的文件夾上一級(jí)文件夾的絕對(duì)路徑
print("path2@@@@@",path2)
完整的代碼
import pandas as pd
import numpy as np
import os
os.getcwd()
# F:\\pythonProject3\\data\\data\\train.csv
# dataset_path = '..'
train = pd.read_csv('..\\train.csv')
path1=os.path.abspath('.')
print("path1@@@@@",path1)
path2=os.path.abspath('..')
print("path2@@@@@",path2)
print(train)
參考
https://www.jb51.net/article/168860.htm
|