【发布时间】:2023-03-12 14:10:01
【问题描述】:
我有一个 8000 个名称列表,其中包含按如下所示顺序排列的名称、公司、地址 1、地址 2、地址 3(可选)。这是一个python列表
[John
It Tech
1243 mary drive
florida-32006
mark
Infotech
1245 lonely drive
irony estate 324
Virginia-24531
Steve
king Electronics
.
.
]
address3 是可选的,不能期望它每次都按顺序排列。name 将从 address2 的下一个开始。我需要按每个第 n 个元素拆分列表,即通过名称检查第 5 个元素是名称或地址。如果是地址,则将拆分增加 nth+1。如果没有,继续 4。我只是想将这些添加到 excel 列中。
下面是我尝试过的代码,它按每 4 个元素拆分列表。如果第 5 个元素是名称或地址,它会忽略。
test2= [final1[x:x+4] for x in range(0, len(final1),4)]
这给了我结果
[['John','It Tech','1243 mary drive','florida-32006'],
['mark','Infotech','1245 lonely drive','irony estate 324'],
['Virginia-24531','Steve','king Electronics']]
** the last list should start from Steve and the address(Virginia-24531) in the previous list***
我恳请有人帮我解决这个问题。提前非常感谢你
【问题讨论】:
-
如何区分
'mark'和'Virginia-24531'的名称?如果你解决了你就差不多完成了...... -
顺便说一句,您的列表不是 python 列表 - 它是 NameError 正在发生...或 SyntaxError ... 或介于两者之间的任何东西。
-
你如何区分
name和address3(optional)? -
我已经定义了一个函数来查看它是否有数字或邮政编码
def hasNumbers(inputString): return any(char.isdigit() for char in inputString) -
这与数据框或熊猫有什么关系?
标签: python-3.x pandas list dataframe for-loop