2016-09-08 49 views
3

我有以下路徑的文件的文件:閱讀蟒蛇開始與一個特定的字符串

/home/[user]/foo_01-01-2016.txt 

我需要使用通配符來讀它(*)字符:

import pandas as pd 
df = pd.read_csv("/home/[user]/foo_*.txt") 

但它給文件沒有找到錯誤。

+0

,我不認爲在這種情況下,[路徑擴展(https://bash.cyberciti.biz/指南/ Path_name_expansion)支持。我會使用這個:https://docs.python.org/2/library/glob.html – Marcs

+0

'*'由shell使用。如果你使用任何其他語言,你必須自己翻譯它,一種方法是使用Python標準庫中的'glob'(文件名擴展名爲* globbing *).https://docs.python.org/3 /library/glob.html – cdarke

回答

1

您可以使用glob,但輸出列表,以便通過[0]選擇第一項:

import pandas as pd 
import glob 

path =r'/home/[user]' 
filename = glob.glob(path + "/foo_*.txt") 
print (filename[0]) 

df = pd.read_csv(filename[0]) 
print (df) 
+0

不錯!謝謝你 – zerobyte

+0

如果我的回答很有幫助,不要忘記[接受](http://meta.stackexchange.com/a/5235/295067)它。謝謝。 – jezrael

+0

文件路徑之前的'r'是什麼? – zerobyte