第一件事,你必須明白一個CSV文件的內部運作。 CSV文件是由行和列組成,例如:
| NAME | AGE | ROOM |
| ---------------------|
| Kaleb | 15 | 256 |
| ---------------------|
| John | 15 | 257 |
| ---------------------|
| Anna | 16 | 269 |
當垂直元件列,且水平元件是行。行包含許多類型的數據,如名稱/年齡/房間。列僅包含一種類型的數據,如名稱。
繼續前進,這裏是讀取CSV的示例函數。 請仔細研究代碼。
def read_csv(csv_file):
data = []
with open(csv_file, 'r') as f:
# create a list of rows in the CSV file
rows = f.readlines()
# strip white-space and newlines
rows = list(map(lambda x:x.strip(), rows))
for row in rows:
# further split each row into columns assuming delimiter is comma
row = row.split(',')
# append to data-frame our new row-object with columns
data.append(row)
return data
現在爲什麼要這樣做?那麼,這個功能允許你按行/列訪問你的CSV文件。這意味着索引更容易。使用上述功能請看下面的例子:
csvFile = 'test.csv'
# invoke our function
data = read_csv(csvFile)
# get row 1, column 2 of file
print(data[1][2])
# get entirety of row 2
print(data[2])
# get row 0, columns 1 & 2
print(data[0][1], data[0][2])
正如你所看到的,我們可以很容易地通過使用我們的read_csv()
功能和創建嵌套列表對象訪問文件的不同部分。最後,如果要打印到整個文件,則只需在創建數據對象後使用for循環即可。
data = read_csv(csvFile)
for row in data:
print(row)
總之,大熊貓是非常適合大數據的科學,但如果你只是 想讀/訪問CSV,這個功能就好了。不需要爲小任務安裝大包,除非你想要:)。
祝你好運!
你想讀取或寫入文件嗎?你想使用[**'csv' **](https://docs.python.org/2/library/csv.html)模塊,還是隻打印整個內容? –
@Dan發佈與您的問題相關的代碼? – aBiologist