【发布时间】:2018-06-12 04:47:51
【问题描述】:
我有一个最初从 CSV 文件中提取并保存到列表中的列表。 csv 文件最初是一个 excel 表,其中包含每个类别的数据。我在尝试以有组织的方式提取标题及其内容时遇到了麻烦。列表如下所示
myLoad =[
['Unit 1000', '', '']
['A1', 'Food', 'Good']
['A3', 'Drink', 'Poor']
['A6', 'Food', '']
['Unit 1001', '', '']
['A7', 'Cheese', 'Yellow']
['A8', 'Coke', 'Brown] ]
我希望列表看起来像
1000, A1, Food, Good
1000, A3, Drink, Poor
1000, A6, Food,
1001, A7, Cheese, Yellow
1001, A8, Coke, Brown
虽然我正在比较另一个列表以从中提取数据,但我使用正则表达式来查找单元编号,但即使在能够找到编号之后,我也无法提取每个类别的列表的其余部分号码去吧。到目前为止我所拥有的是。
loadRegex = re.compile(r'\d{4}')
for i, row in enumerate(myLoad):
thisLoad = loadRegex.search(row[0])
if thisLoad:
print thisLoad.group() #which would print each number
在这之后我想不通 如何让 Unit # 打印(并最终附加到新列表),以及它下面的每个部分的内容,就好像它们都在一起一样。
我希望内容类似于找到 Unit # 然后打印每一行直到找到下一个 unit #,但它必须基于正则表达式,以便我可以使用相同的正则表达式来比较相同的单元编号到另一个文件
【问题讨论】:
-
我建议你使用字典
标签: python regex python-2.7