我是Pyhthon的新手,並且一直在堅持一些工作。 我有一個.csv文件,有7列。 第一列包含路徑某些文件,如:使用python從列中分離目錄
Name
a/b/c.xyz
m/n/o/p.sad
p/q/r/s/t/u.asas
我需要單獨的目錄(路徑)的文件,和業主是'a'
,'m'
,'p'
爲各自的行。我已經使用熊貓導入了.csv文件。我讀過os.path可能會有所幫助。任何建議都將非常感謝。同時,我正在處理的數據非常大,所以需要注意執行腳本的開銷。
謝謝。
我是Pyhthon的新手,並且一直在堅持一些工作。 我有一個.csv文件,有7列。 第一列包含路徑某些文件,如:使用python從列中分離目錄
Name
a/b/c.xyz
m/n/o/p.sad
p/q/r/s/t/u.asas
我需要單獨的目錄(路徑)的文件,和業主是'a'
,'m'
,'p'
爲各自的行。我已經使用熊貓導入了.csv文件。我讀過os.path可能會有所幫助。任何建議都將非常感謝。同時,我正在處理的數據非常大,所以需要注意執行腳本的開銷。
謝謝。
如果你只是想找到所有者和文件名,可以通過拆分來完成。
import csv
owner,file =[],[]
with open(filePath,'rb') as f:
reader = csv.reader(f)
for line in reader:
owner.append(line.split('/')[0])
file.append(line.split('/')[-1])
,如果你需要找到的文件路徑,並刪除所有者,它可以被拆分和os.path.join
import csv
import os
owner,file =[],[]
with open(filePath,'rb') as f:
reader = csv.reader(f)
for line in reader:
owner.append(line.split('/')[0])
file.append(os.path.join(*line.split('/')[1:]))
os.path.join例如實現:
string = 'p/q/r/s/t/u.asas'
os.path.join(*string.split('/')[1:])
output:
'q\\r\\s\\t\\u.asas'
謝謝,它幫助:) –
是你想要的嗎?
In [64]: df
Out[64]:
Name
0 a/b/c.xyz
1 m/n/o/p.sad
2 p/q/r/s/t/u.asas
In [66]: df.Name.str.extract(r'(?P<owner>.)(?P<path>/.*)', expand=True)
Out[66]:
owner path
0 a /b/c.xyz
1 m /n/o/p.sad
2 p /q/r/s/t/u.asas
謝謝,它爲我工作:) –
是否要將業主和路徑分爲兩列? – MaxU
是的,先生,這是我打算做的。 –