使用csv.DictReader
時是否沒有與readline()
等價的內容?在循環之前,我需要跳過文件的標題行,並且使用readline()
是使用普通讀取器變量這樣做的好方法。python的csv.DictReader的readline()的等效
0
A
回答
2
的DictReader
對象是一個迭代器,所以調用它的next
方法(通過調用它next
)應該跳過(或恢復)一行,就像readline
會。
我需要循環
DictReader
對象不指定標題行之前要跳過的文件的標題行。所有後續行(第一後)是否插值的字典,與第一排的按鍵,就像這樣:
r,t,s
1,2,3
2,4,6
>>> f = open('sample.csv')
>>> r = csv.DictReader(f)
>>> next(r)
{'s': '3', 't': '2', 'r': '1'}
>>> next(r)
{'s': '6', 't': '4', 'r': '2'}
所以要跳過第一行,你必須調用next
上的文件對象本身,然後再通過該文件對象來創建DictReader
1
DictReader()
是iterator object。使用next()
function對象上得到各行:
reader = csv.DictReader(fileobj)
row = next(reader, None)
的第二個參數是next()
默認值返回,如果可迭代爲空;如果沒有更多行要讀取,則row
設置爲None
。
順便說一句,這也適用於文件對象。並且因爲DictReader()
自動將讀取第一行(如果您未指定任何字段名稱),如果要防止使用第一行,則必須在從DictReader()
對象讀取數據之前將fileobj
移動到下一行:
next(fileobj, None) # skip first line of the file
reader = csv.DictReader(fileobj)
相關問題
- 1. 用於Java的GNU Readline等效項
- 2. Python csv.reader vs csv.dictreader的區別?
- 3. Python的Ruby等效「_」
- 4. SCAR的Python等效
- 5. Python的等效CHARTR
- 6. Matlab的等效Python Python scipy.optimize.fmin_cg
- 7. Mac上的Python readline()
- 8. Javascript的等效Python的urlparse.parse_qs()?
- 9. Python的等效PHP BASE64_ENCODE的
- 10. Python的等效PHP的memory_get_usage()?
- 11. PHP等效Python的shlex.split的
- 12. Python的等效Ruby的each_with_index?
- 13. Python的csv.DictReader嵌入非Unicode字符
- 14. Python在csv.DictReader()中返回KeyError()
- 15. 的BufferedReader的readLine()等待處理的inputStream
- 16. Golang等效於Python的NotImplementedException
- 17. 等效於Python的Object.create()
- 18. 等效於Python中的createDataPartition
- 19. * python中的等效代碼
- 20. Python等效於Ruby的#each_cons?
- 21. PHP等效於Python的repr()
- 22. $ _SERVER ['QUERY_STRING'] python中的等效
- 23. Python的os.execvp等效於PHP
- 24. Python中的捲曲等效
- 25. Python等效的HTML5畫布
- 26. PHP等效於Python的`urljoin`
- 27. Python .readline()
- 28. urllib2 python等效python
- 29. 錯誤的readline()在Python
- 30. Python的等效的Perl /紅寶石||的=
有現有技術的此;-)喜歡的答案提示,人們還可以看[3.2的Python跳過csv.DictReader線(http://stackoverflow.com/questions/4787723/python -3-2-skip-a-line-in-csv-dictreader)來命名我遇到的第一個... – Dilettant