Welcome to MLink Developer Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
285 views
in Technique[技术] by (71.8m points)

python - dynamically generating multi items for invoice from csv file, using pandas and report lab

Attched is my data

I am trying to dynamically generate invoice from CSV file by using pandas and report lab. I managed to generate an invoice with customer name, address invoice number etc, which has been quite effortless. However, I couldn't manage to generate quantity and description to my files. Can anyone give me hand on this, please?

My is code below

for i in range(len(df)): 
order_no =df["Order #"].values[i]
date=df["Date"].values[i]
customer=df["Delivery Customer"].values[i]
adress_line=df["Delivery Street Name&Number"].values[i]
post_code=df["Delivery Zip Code"].str[1:-1].values[i]
phone=df["Buyer's Phone #"].str[1:-1].values[i]
qty=df["Qty"].values[i]
items=df["Item's Name"].values[i]

c=canvas.Canvas(str(order_no)+".pdf")


c.setFont("Helvetica", 35)
c.drawString(140,760, "Ggggg Ltd")
c.setFont("Helvetica",10)
c.drawString(60,748,"Arches 17-18, New xxxxxxxxxxxxxxx|Tel12222112222|email: [email protected]")
c.setLineWidth(1.5)
c.line(30,745,580,745)
x=30
y=675
c.drawString(x,y+20 ,"Deliver To:")
c.drawString(x,y, customer.upper())
c.drawString(x,y-15, adress_line)
c.drawString(x,y-30, post_code)

c.drawString(468,690, "Date : ")
c.drawString(500,690, date)

c.drawString(448,675, "Order No : ")
c.drawString(500,675, str(order_no))

c.drawString(140,550, "Qty ")

for line in qty:
    data=[]
    data.append(line)
   
c.drawString(x,y,line)

c.drawString(250,550, "Description ")
for line1 in items:
    data1=[]
    data1.append(line1)
   
c.drawString(x,y,line1)


c.save()

#os.startfile(str(df.values[0,0])+"_"+str(df.values[0,10])+".pdf")

My code fails when I try to add the items and description , just specify each customer usaully have more than one item on their invoice.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)
等待大神答复

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to MLink Developer Q&A Community for programmer and developer-Open, Learning and Share
...