我有一个csv与SKU和网址,我打破了他们在两个列表
def myskus():
myskus =[]
with open('websupplies2.csv', 'r') as csvf:
reader = csv.reader(csvf, delimiter=";")
for row in reader:
myskus.append(row[0]) # Add each skus to list contents
return myskus
def mycontents():
contents = []
with open('websupplies2.csv', 'r') as csvf:
reader = csv.reader(csvf, delimiter=";")
for row in reader:
contents.append(row[1]) # Add each url to list contents
return contents
然后我多处理我的网址,但我想加入相应的SKU
if __name__ == "__main__":
with Pool(4) as p:
records = p.map(parse, web_links)
if len(records) > 0:
with open('output_websupplies.csv', 'a') as f:
f.write('\n'.join(records))
我能把 记录=p.map(解析、SKU、web链接)
因为它不起作用
我想要的输出格式 会是
sku price availability
bkk11 10,00 available
我怎样才能做到这一点?你知道吗
小重构
我建议将这对函数命名为
def get_skus()
和def get_urls()
,以匹配问题定义。你知道吗数据结构
拥有一对列表
skus
和urls
,似乎不适合您的高级问题。 把它们放在一起,作为(sku
,url
)元组的列表,或者作为sku_to_url
dict。 也就是说,删除两个函数中的一个,这样您只需读取一次CSV,并将相关的详细信息保存在一起。 那么您的parse()
例程将拥有更多可用信息。 元组列表可以归结为Monty的starmap()
建议。你知道吗正在写入结果
您使用的是:
首先,至少测试一条记录可能是多余的,打开附加然后写零条记录并不是世界末日。 如果您关心文件上的时间戳,那么这也许是一个有用的优化。你知道吗
更重要的是,} ,以确保适当的引用。你知道吗
write()
似乎很糟糕。 有一天,一个不幸的角色可能会潜入你的一张唱片。 最好将结构化记录提供给^{相关问题 更多 >
编程相关推荐