需要一个基本python项目的建议吗

需要一个基本python项目的建议吗,python,Python,我最近开始学习Python,所以有时候最简单的事情对我来说可能是挑战和困难的 但无论如何; 我正试图写一个基本的程序,可以帮助我在目前的工作 我的想法是,我只需要填写与我下的订单相关的详细信息,程序会创建订单的对象并自动将其添加到CSV文件中 此外,还可以对已发货订单、预测销售额、待发货订单等进行概述。 它总是给我多个错误,writerow由于参数太多而不可能。 然后我只得到字符串:“日期”、“金额”、“客户”等作为输出(在同一列中) 现在,我只想创建一个对象,并使用对象属性将该对象写入CSV文

我最近开始学习Python,所以有时候最简单的事情对我来说可能是挑战和困难的

但无论如何; 我正试图写一个基本的程序,可以帮助我在目前的工作

我的想法是,我只需要填写与我下的订单相关的详细信息,程序会创建订单的对象并自动将其添加到CSV文件中

此外,还可以对已发货订单、预测销售额、待发货订单等进行概述。 它总是给我多个错误,writerow由于参数太多而不可能。 然后我只得到字符串:“日期”、“金额”、“客户”等作为输出(在同一列中)

现在,我只想创建一个对象,并使用对象属性将该对象写入CSV文件 在同一行的不同列中

这是我的密码:

import csv
from datetime import datetime

class Order():

    def __init__(self, amount, customer, status, eta): 
        self.date = datetime.now()
        self.amount = amount
        self.customer = customer
        self.status = status
        self.eta = datetime.strptime(eta, '%m-%d') #Converting string input into datestamp

    def __repr__(self):
        pass

    def add_to_orders(self): #Method to add an order to a CSV file

        csv_file = open('orders.csv', 'w')
        fieldnames = ['Order Number', 'Date', 'Amount', 'Customer', 'Status', 'ETA']
        writer = csv.DictWriter(csv_file, fieldnames=fieldnames, delimiter=',')
        writer.writeheader()

        writer.writerow(self, self.date, self.amount, self.customer, self.status, self.eta)

    def reading():
        with open('orders.csv') as csvfile:
            csvreader = csv.DictReader(csvfile)
            for line in csvreader:
                return line


    SCEO36261634 = Order(1500, 'Jasper', 'Shipped', '12-05')
    print(SCEO36261634.amount)
    SCEO36261634.add_to_orders()
提前感谢

您希望附加到文件(模式
'a'
),即使如此,您也只希望在必要时写入CSV头:

class Order():
    def __init__(self, amount, customer, status, eta): 
        self.date = datetime.now()
        self.amount = amount
        self.customer = customer
        self.status = status
        self.eta = datetime.strptime(eta, '%m-%d')

    def add_to_orders(self):
        fieldnames = ['Order Number', 'Date', 'Amount', 'Customer', 'Status', 'ETA']

        with open(filename, 'a', newline='', encoding='utf8') as csv_file:
            writer = csv.DictWriter('orders.csv', fieldnames=fieldnames, delimiter=',')

            # only write headers if we are appending to a brand-new file
            if file.tell() == 0:
                writer.writeheader()

            writer.writerow([self.date, self.amount, self.customer, self.status, self.eta])

    def read(self):
        with open('orders.csv', 'r', newline='', encoding='utf8') as csvfile:
            yield from csv.DictReader(csvfile)
此外,您还应该为
.writerow()
提供一个列表(字段值)


除此之外,始终指定文件编码是明智的
utf8
将是几乎所有情况下的最佳选择。

由于您希望向文件中添加订单,我建议打开文件进行追加。关于这一点,有一篇很好的文章,所以似乎最适合提问。在你的问题中很难看到一个问题。也许你可以重新措辞。