2013-08-22 175 views
0

我想在for循環中迭代讀取一組csv文件中的數據。 的CSV文件被命名爲(1.csv2.csv等)動態讀取csv文件python pandas

正常的方式來讀取數據使用for時將

data = pd.read_csv('1.csv')

請某人建議如何通過i更換1循環。

我試過data = pd.read_csv(i+'.csv')data = pd.read_csv(i'.csv')但他們沒有工作。

回答

5

使用用百分比格式

pd.read_csv('%d.csv' % i) 

format

pd.read_csv('{0}.csv'.format(i)) 
+2

或者使用字符串連接:'pd.read_csv(STR (i)+'。csv')'沒有什麼不好,它甚至比格式表達式還要快。 – dorvak

+0

這實際上是Python的一個領域,Perl的口頭禪「有多種方法可以做到」。還有''%i'',你可以將一個類型說明符傳遞給'format' ......這麼多種方式! –

2

進行單獨的字符串?

如果i確實是一個整數,使用:

filename = str(i) + '.csv' 
data=pd.read_csv(filename) 

甚至:

data=pd.read_csv(str(i)+'.csv') 

應該罰款:)

+2

我沒有downvote你,但FWIW不會工作的整數''我''。你必須做'str(i)+'.csv''。 –

+1

沒有任何信息,我是'int'或'str'。我也不明白downvote。 – dorvak

+0

不是downvoter,但我認爲這是明確的問題,我是一個整數,所以可能就是這樣。但我更喜歡其他答案。 –