下面的代碼CSV解析,試圖瞭解一些代碼
import csv
def csv_dict_reader(file_obj):
"""
read a CSV file using csv.DictReader
"""
reader = csv.DictReader(file_obj, delimiter=',')
for line in reader:
print(line['first_name']),
print(line['last_name']),
if __name__== "__main__":
with open("dummy.csv") as f_obj:
csv_dict_reader(f_obj)
我想嘗試做一個快速的故障,看看我是否明白究竟是如何工作的。在這裏,我們去:
1)導入CSV以CSV方法
2)我們定義一個函數,該函數「file_obj」作爲它的參數
3)讀者變量進行調用的帶來函數在csv中被稱爲「DictReadre」,後者接受來自'file_obj'的參數並指定一個'delimiter'
4)我對這個for循環感到困惑,爲什麼我們不必事先定義行?它是否已被定義爲「讀者」的一部分?
5)我真的很困惑,當談到「名」和「主要」,在這些主題相關的,我們如何指定「file_obj」?我同樣對最後指定'file_obj'的方式感到困惑;我一直假設'f_obj'以某種方式設法填補了這個角色。
- 編輯 -
真棒,這是開始做了一大堆我更有意義。所以,當我對DictReader()進行'class'調用時,我正在變量'reader'中創建它的一個實例?
也許我離得太遠了,但是DictReader()類允許它確定字段的結構,如'last_name'或'first_name'?我假設它與CSV文件的結構有關,但我不完全確定。
我認爲這篇文章將幫助你 http://stackoverflow.com/questions/419163/what-does-if-name-main-do – 2014-12-03 02:41:02