2016-08-02 15 views
0

私はCSVファイルをループするコードを作成しようとしていますが、この2つのデータを結合します"と" Entry ")、返された値ごとにQRコードを作成します。QRコードの作成方法とデータの結合方法を理解しましたが、ループを把握することはできません。一緒に。何か助けてくれてありがとう!CSVをループして各行文字列を使用してQRコードを作成する方法 - QYON

import csv 
import qrcode 

with open('SLS_labels.csv') as csvfile: 
    fieldnames= ["Rep", "Entry"] 
    reader= csv.reader(csvfile) 

    for row in reader: 
     labeldata = row[0] + row[1] 
     print labeldata 


    qr = qrcode.QRCode(
     version=1, 
     error_correction=qrcode.constants.ERROR_CORRECT_L, 
     box_size=1, 
     border=4, 
    ) 

    qr.add_data(labeldata) 
    qr.make(fit=True) 

    img = qr.make_image() 
    img.save("test.jpg") 

答えて

0

あなたはforループ内のラベルを作成したいとしている。

for row in reader: 
    labeldata = row[0] + row[1] 

    qr = qrcode.QRCode(
    version=1, 
    error_correction=qrcode.constants.ERROR_CORRECT_L, 
    box_size=1, 
    border=4) 

    qr.add_data(labeldata) 
    qr.make(fit=True) 

    img = qr.make_image() 
    img.save(labeldata+".jpg") #this assumes your label data would make a good file name 

また、あなたがリストにあなたのlabeldataのすべてを追加し、その上で反復可能性が...

labeldata = [] 
for row in reader: 
    labeldata += [row[0] + row[1]] 
... 
for label in labeldata: 
    #make labels 
+0

は、なぜあなたはすべてのforループ 'qr'の新しいインスタンスを作成したいと思うqr.clear()img.save()後に呼び出すことができます追加したデータをクリアしたい場合は? – JClarke

+0

ドキュメントを読まずに 'add_data'メソッドが古い情報を上書きしたり連結しているかどうかわかりません。毎回新しいインスタンスを作成すると、失効したデータの可能性について心配する必要はありません。 –

+0

私はそれを理解していますが、それはとにかく理想的な方法ではありません。必要であれば失効したデータをクリアするだけです。 – JClarke

0
import csv 
import qrcode 

with open('SLS_labels.csv') as csvfile: 
    fieldnames= ["Rep", "Entry"] 
    reader= csv.reader(csvfile) 

    qr = qrcode.QRCode(
     version=1, 
     error_correction=qrcode.constants.ERROR_CORRECT_L, 
     box_size=1, 
     border=4, 
    ) 

    for i, row in enumerate(reader): 
     labeldata = row[0] + row[1] 
     print labeldata 

     qr.add_data(labeldata) 
     qr.make(fit=True) 

     img = qr.make_image() 
     img.save("test{}.jpg".format(i)) 

列挙型を追加しました。ファイル名のインデックス番号を取得すると、test.jpg

あなたが

関連する問題