我想用 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:Usersupdate.py", line 32, in <module>
print [r.title(row[1]) for r in row]
TypeError: title() takes no arguments (1 given)
不要传入参数,并且不能通过对所有列调用title
来仅row[1]
标题大小写。
要么只对一列使用str.title()
,要么对所有列使用。要生成一个只有一个元素标题大小写的列表,您必须重新构建列表并替换一个元素:
print row[:1] + [row[1].title()] + row[2:]
或在打印前就地编辑行:
row[1] = row[1].title()
print row[1]