将title()应用于列

时间:2016-11-30 17:32:01

标签: python python-2.7 csv

我想用title()代码打印csv文件的第二列。当我运行此代码段时,它会出错。请提供帮助。

import csv

books = csv.reader(open('C:\\Users\\Data.csv','rb'))

for row in books:
    print [r.title(row[1]) for r in row]

错误:

Traceback (most recent call last):
  File "C:\Users\update.py", line 32, in <module>
    print [r.title(row[1]) for r in row]
TypeError: title() takes no arguments (1 given)

1 个答案:

答案 0 :(得分:0)

不要传递参数,并且只能通过在所有列上调用row[1]来标记title标题。

一个列上使用str.title(),或者全部使用print row[:1] + [row[1].title()] + row[2:] 。要生成仅包含一个标题元素的列表,您必须重新构建列表,并替换一个元素:

row[1] = row[1].title()
print row[1]

或在打印前就地编辑行:

{{1}}