0

Python で csv ファイルを作成し、フィールドを既存のフィールドにマップしようとしています。これが私の csv のタイトル フィールドです。

import_fields = ["ID", "Active (0/1)", "Name *", "Categories (x,y,z...)", 
                "Price tax excl. or Price tax incl.", "Tax rules ID", "Wholesale price", "On sale (0/1)", 
                "Discount amount", "Discount percent", "Discount from (yyyy-mm-dd)", "Discount to (yyyy-mm-dd)", 
                "Reference #", "Supplier reference #", "Supplier", "Manufacturer", "EAN13", "UPC", "Ecotax", "Weight", 
                "Quantity", "Short description", "Description", "Tags (x,y,z...)", "Meta-title", "Meta-keywords", 
                "Meta-description", "URL rewritten", "Text when in stock", "Text when backorder allowed", 
                "Available for order (0 = No, 1 = Yes)", "Product creation date", "Show price (0 = No, 1 = Yes)", 
                "Image URLs (x,y,z...)", "Delete existing images (0 = No, 1 = Yes)", "Feature(Name:Value:Position)", 
                "Available online only (0 = No, 1 = Yes)", "Condition", "ID / Name of shop"]

たとえば、次のようになります。

adm_product = []
for category in breadcrumbs.findAll('li', { "class" : re.compile(r'\bcategory\d')}):
    adm_product.append(category.find('a').renderContents())

product_shop = soup.find('div', attrs={"class": "product-shop"})
product_sku = soup.find('p', attrs={"class": "product-sku"})
if product_sku:
    sku = product_sku.renderContents()
    product_ref = ref(sku)[0]
    adm_product.append(product_ref) # MAP TO REFERENCE

short_description = soup.find('div', attrs={"class": "short-description"})
if short_description:
    short_desc = short_description.find('div', attrs={"class": "std"})
    if short_desc:
        adm_product.append(short_desc.renderContents()) # MAP TO SHORT DESCRIPTION

product_ref を import_fields リストの参照にマップし、欠落している値を空白のままにするか、値を追加すると正しい列に追加されるように csv を作成する正しい方法は何ですか?

4

1 に答える 1

3

csvDictWriterを使用し、DictReader

http://docs.python.org/2/library/csv.html#csv.DictWriter

于 2012-11-13T09:39:37.930 に答える