【发布时间】:2019-06-04 04:43:57
【问题描述】:
我有一些数据看起来像这样:
description "export"
source "factory1"
source "factory2"
source "factory3"
destination "customer1"
destination "customer2"
shipdate "asap"
description "export"
source "factory4"
source "factory5"
source "factory6"
destination "customer1"
shipdate "30"
我现在正在尝试创建一个看起来像这样的 csv 文件:
description,source,destination,shipdate
export,factory1,customer1,asap
export,factory2,customer1,asap
export,factory3,customer1,asap
export,factory1,customer2,asap
export,factory2,customer2,asap
export,factory3,customer2,asap
export,factory1,customer1,asap
export,factory2,customer1,asap
export,factory3,customer1,asap
export,factory4,customer1,30
export,factory5,customer1,30
export,factory6,customer1,30
数据块作为 python 列表交给我,所以我目前正在迭代它们,然后根据第一个单词将它们放入其他列表中。但是,可能有一种更简单的处理方式。
到目前为止,我的代码看起来像这样,但正如您所见,这不会解决我的问题:
sourcelist = []
destlist = []
for item in list:
if "source" in item:
sourcelist.append(item)
if "destination" in item:
destlist.append(item)
感谢您的帮助!即使这意味着我需要重写代码!
【问题讨论】:
-
为什么像
export,factory1,customer1,asap这样的值会重复两次? -
您实际上是在要求解析器转换为您未指定的格式。您的数据是否像这样,或者您是否需要遵循一些额外的规则?它们是什么?
-
@MarkMeyer 数据重复两次,因为它是两个不同的块,只是为了告诉你并不总是有两个目的地。
-
@MisterMiyagi 对如何处理这个问题的方向的提示也将不胜感激:) 但是,实际上并没有太多规则。目的地最多可以有两个,但不能再多了。来源可以是任何数字。描述始终存在,发货日期也是如此。奇怪,我知道,但这就是我必须解决的问题
-
@xeet 列表是什么样子的 [description "export", source "factory1", ... ,shipdate "asap"]?
标签: python python-3.x list csv