将多个类属性写入CSV

时间:2018-02-11 17:49:34

标签: python python-3.x csv

我有一份名为 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文件中每行写入多个内容(以逗号分隔)?

1 个答案:

答案 0 :(得分:2)

根据documentaionwrite方法将一行作为其输入参数。您需要做的就是将属性转换为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])