使用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的Ruby等效“_”
- 3. Python的等效CHARTR
- 4. Python的等效Ruby的each_with_index?
- 5. Python的等效PHP的memory_get_usage()?
- 6. PHP等效Python的shlex.split的
- 7. Python的等效PHP BASE64_ENCODE的
- 8. Python在csv.DictReader()中返回KeyError()
- 9. 等效于Python中的createDataPartition
- 10. 等效于Python的Object.create()
- 11. Python的os.execvp等效于PHP
- 12. Python等效于Ruby的#each_cons?
- 13. PHP等效于Python的repr()
- 14. Golang等效于Python的NotImplementedException
- 15. Python .readline()
- 16. Python的等效的Perl /红宝石||的=
- 17. 在Python中等效的Mathematica中的NMaximize
- 18. Python的OpenCV的CV2等效CV_FILLED
- 19. Python的等效Matlab的矢量切片
- 20. - [R等效的Python“通”语句的
- 21. python的%(从R)的等效函数
- 22. Python的等效ActionScript 3的restParam
- 23. Python .readline()重置
- 24. Python readline空行
- 25. JRE等效于Python
- 26. cout.precision()等效于python
- 27. roxygen2等效于python
- 28. 的Python的readline自动完成
- 29. 使readline等待输入R
- 30. Python 3.2在csv.DictReader中跳过一行
有现有技术的此;-)喜欢的答案提示,人们还可以看[3.2的Python跳过csv.DictReader线(http://stackoverflow.com/questions/4787723/python -3-2-skip-a-line-in-csv-dictreader)来命名我遇到的第一个... – Dilettant