2012-07-12 40 views
3

什麼是Python的等價於R的read.csv()函數,並且data.frame它返回?相當於R數據框的Python

Python中是否有類似的數據結構?

+3

你看了看Python文檔嗎?有一個專用於CSV的模塊。 – Marcin 2012-07-12 17:00:20

+3

csv模塊不是問題的完整答案,因爲它不包含等效的數據結構。 – mhermans 2012-07-12 17:04:33

+0

Python有一個'csv'模塊來讀取.csv,但它沒有一個本地表類型。您可以使用列表列表,列表列表或任何集合/集合,集合/迭代器或迭代器/集合類型組合,或第三方的矩陣類型元素(如numpy/scipy的矩陣)。理想的類型可能會依賴於應用程序。 – 2012-07-12 17:08:53

回答

10

你有兩個元件在你的問題,(1)讀/寫CSV和(2)的等效數據結構,以從在CSV讀取結果將R data.frame -文件。

對於第一部分,標準庫中有csv module

對於第二部分,標準庫缺乏具有R data.frame靈活性的等效表格數據結構。你有兩個選擇,這取決於你將在後面做了操作的複雜性:

+2

我只會補充一點,如果你是一個很長時間的R用戶,你很可能會真的想要一個「完整」的數據框架模擬,在這種情況下,熊貓不太可能過度殺傷。 – joran 2012-07-12 17:39:34

+1

熊貓是數據框式功能的最佳選擇。 – BrenBarn 2012-07-12 17:40:41

+0

謝謝,我會看看熊貓。 – 2012-07-12 17:46:29

1

這不足以滿足你的飢餓感嗎?

import StringIO 
import csv 


f = StringIO.StringIO("""a,b,c 
1,2,3 
4,5,6""") 

r = csv.reader(f, delimiter=',') 
print [x for x in r] 

給出:

[['a', 'b', 'c'], ['1', '2', '3'], ['4', '5', '6']]