2016-08-03 5 views
1

ファイルを開いて辞書に読み込もうとしています。私はこれをうまくやったことがありますが、変数に 'values'を書き込んだ後、その変数を特定の場所の別のファイルに書き出す必要があります。あるいは、それらをすべて変数に入れない方法があります。csvから構築された辞書をループして特定のキー値をファイルに書き込む

書き込みセクションの 'person1'は、ファイル内の複数の名前に対して実行する必要があります。

私は混乱しているので、私はnoobですので、私はお詫び申し上げます。データファイルへ

リンクDataFileLayout

`import csv 
with open('registrant_data.csv') as csvFile: 
    readCSV = list(csv.DictReader(csvFile)) 
    for row in readCSV: 
     person1 = row['firstname'] + ' ' + row['lastname'] 


# HTML Top of page 

with open('nametags8gen.html', 'w+') as myWriteFile: 
    myWriteFile.write('<!DOCTYPE html> \n' 
         '<html>\n' 
         '<head>\n' 
         '<title>natetag8</title>\n' 
         '<link href="styles/nametags8.css" type="text/css" rel="stylesheet" />\n' 
         '</head>\n' 
         '<body>\n' 
         '<header>\n' 
         '</header>\n' 
         '<main class="mainContainer">\n' 
         '<div class"textBoxContainer">\n' 
         '<div class="textContainer">\n' 
         '<span class="font22">' + person1 +'</span>\n' 
         '<span class="font12">Smith</span>\n' 
         '<span class="font14">Web Developer</span>\n' 
         '<span class="font12">Regis University</span>\n' 
         '<span class="font12">Denver, CO</span>\n' 
         '</div>\n') 
    csvFile.close()` 
+0

1人につき1つのhtmlファイルを作成する必要がありますか? –

+0

'csvFile.close()'が問題を引き起こす可能性があることに注意してください。これは "コンテキストマネージャ"なので、すでに 'with'グルーピングの終わりに自動的に閉じられます。 – holdenweb

+0

私はそのような複数のエリアを持っています。私はcsvファイルからの情報ですべてのハードコーディングされた情報を入力します。 – MuthaCluffer

答えて

0

私はあなたの所望の出力が何であるかわかりません。これはどうですか?このコードでは、最初にhtmlファイルの先頭を書き、次にcsvファイルをループし、ファイルの各行にいくつかのスパンを追加します。

import csv 

with open('registrant_data.csv') as csvFile: 
    readCSV = list(csv.DictReader(csvFile)) 

with open('nametags8gen.html', 'w+') as myWriteFile: 
    myWriteFile.write('<!DOCTYPE html> \n' 
         '<html>\n' 
         '<head>\n' 
         '<title>natetag8</title>\n' 
         '<link href="styles/nametags8.css" type="text/css" rel="stylesheet" />\n' 
         '</head>\n' 
         '<body>\n' 
         '<header>\n' 
         '</header>\n' 
         '<main class="mainContainer">\n' 
         '<div class"textBoxContainer">\n' 
         '<div class="textContainer">\n') 


    for row in readCSV: 
     myWriteFile.write('<span class="font22">' + row['firstname'] +'</span>\n' 
          '<span class="font12">' + row['lastname'] +'</span>\n' 
     # here add other info for each person 

    myWriteFile.write('</div>\n' 
         '</body>\n') 
+0

私はより多くの文脈を与える必要があります。私たちは、名前タグのテンプレートをhtmlで作成し、いくつかのCSSの書式設定を行うことを任されています。その後、人々の情報をリストするcsvファイルが提供されました。私は "名字と姓"のような特定のデータを取り出し、それらをハードコードされた場所に入れて、csvからの値に置き換える必要があります。情報の欠如のために申し訳ありません – MuthaCluffer

関連する問題