我有一份名为 bookList
的书籍清单在此列表中,有图书
每本书都有许多属性,例如 bookTitle,author,quantity和isbn 。
我的程序首先读取一个csv文件,该文件有5行,每行都有逗号分隔值,以bookTitle的名称一直到该行的末尾,即零售价格。
阅读文件没有问题,但我的问题是在我的程序中你可以操纵书籍的数据,例如更改标题名称。
如何通过更改/添加的书籍/已删除的书籍有效地回写到文件中?
我试过了:
with open('inventory.csv', 'w') as f:
writer = csv.writer(f, lineterminator = '\n')
for book in bookList:
writer.writerow(book.bookTitle, book.isbn, book.author, book.publisher, book.dateAdded, book.quantity, book.retail, book.wholesale)
但"作家"只需要1个参数(给出8个)
对于我的书中的每个属性,如何在csv文件中每行写入多个内容(以逗号分隔)?
答案 0 :(得分:2)
根据documentaion,write
方法将一行作为其输入参数。您需要做的就是将属性转换为list
。即
with open('inventory.csv', 'w') as f:
writer = csv.writer(f, lineterminator = '\n')
for book in bookList:
writer.writerow([book.bookTitle, book.isbn, book.author,
book.publisher, book.dateAdded, book.quantity,
book.retail, book.wholesale])