首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数组中每个元素的新列

数组中每个元素的新列
EN

Stack Overflow用户
提问于 2018-06-05 15:49:50
回答 2查看 52关注 0票数 0

我使用csv库来创建一个产品表。为了将其导入到站点,我需要将每个特性写在一个单独的列中。

添加新行是使用简单循环完成的:

代码语言:javascript
复制
writer = csv.writer(csvfile)

for product in products:
    writer.writerow((product['price'],
                     product['vendor_code'],
                     product['characteristics']))

添加一个新的product

代码语言:javascript
复制
product = []
product.append({
    'price'             : price,
    'vendor_code'       : vendor_code,
    'characteristics'   : characteristics,
})

characteristics -数组,将每个特征作为单独的元素包含

如何以以下形式获得输出文件:

代码语言:javascript
复制
190$    #0172    characteristic1     characteristic2     characteristic3

characteristics -初始化:

代码语言:javascript
复制
try:
    characteristics = []
    soup_characteristics = soup.find_all('tr', {'class' : 'product_card__product_characters_item clearfix'})
    for ch in soup_characteristics:
        characteristics.append(re.sub('\s\s+|\n',' ', ch.text))
except AttributeError:
    characteristics = ""
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-06-05 15:54:27

尝试解压缩特征数组:

代码语言:javascript
复制
for product in products:
    writer.writerow((product['price'],
                     product['vendor_code'],
                     *product['characteristics']))

下面是我测试的代码:

代码语言:javascript
复制
products = [{
    'price': 100,
    'vendor': 123,
    'characters': [7, 8, 9],
}]
with open('test.csv', 'w') as fo:
    writer = csv.writer(fo)
    for p in products:
        writer.writerow((
            p['price'],
            p['vendor'],
            *p['characters'],
        ))

下面是test.csv文件的内容:

代码语言:javascript
复制
100,123,7,8,9
票数 1
EN

Stack Overflow用户

发布于 2018-06-05 16:03:29

您应该能够构建一个列表,以便将其写入整个行:

代码语言:javascript
复制
for product in products:
    row = [product['price'],product['vendor_code']] # [price,vendor_code]
    row.extend(product['characteristics']) # [price,vendor_code,characteristic1,characteristic2,...]
    writer.writerow(row) # writes each value in the list as a new column
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50704236

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档