我目前正在使用两个大型数据库csv文件。一个这样的csv,我们称之为X,完全由测试对象的数值数据组成。 a的列被安排为健康测量,如此(id,v1,v2,v3,v4)。我试图获取这些信息并创建一个列表列表,其中每个列表包含单个人的信息,即以这种方式:
@Component
public class ScheduledTasks {
private Logger logger = Logger.getLogger(ScheduledTasks.class);
@Value("${jobs.schedule.istime}")
private boolean imagesPurgeJobEnable;
@Override
@Transactional(readOnly=true)
@Scheduled(cron = "${jobs.schedule.istime}")
public void execute() {
//Do something
//can use DAO or other autowired beans here
if(imagesPurgeJobEnable){
// Do your conditional job here...
}
}
}
(让我知道我是否应该编辑格式:我想将X作为列提供以便于阅读。在列表列表中我刚用完房间,所以listolists = [a,b,c],其中a是第一行,b是第二行,c是第三行 我已经尝试了一些这样的效果,但我最大的问题是我不确定在哪里创建具有匹配数据的实体列表,然后将其附加到“主列表”。
X=[['1','a','b','c','d'],
['1','e','f','g','h'],
['2','i','j','k','l'],
['3','m','n','o','p']]
listoflists=[ [['1','a','b','c','d'],['1','e','f','g','h']], #first row
['2','i','j','k','l'], #second
['3','m','n','o','p'] ] #third
感谢所有帮助。感谢。
答案 0 :(得分:1)
这是:
X =[
['1','a','b','c','d'],
['1','e','f','g','h'],
['2','i','j','k','l'],
['3','m','n','o','p'],
]
numbers = {x[0] for x in X}
output = []
for num in sorted(numbers):
new_list = [sub_list for sub_list in X if sub_list[0] == num]
output.append(new_list)
print(output)
...
[[['1', 'a', 'b', 'c', 'd'], ['1', 'e', 'f', 'g', 'h']],
[['2', 'i', 'j', 'k', 'l']],
[['3', 'm', 'n', 'o', 'p']]]
如果你需要第二个和第三个列表没有嵌套,就像第一个让我知道
编辑 - 针对问题中指定的确切格式
X =[
['1','a','b','c','d'],
['1','e','f','g','h'],
['2','i','j','k','l'],
['3','m','n','o','p'],
]
numbers = {x[0] for x in X}
output = []
for num in sorted(numbers):
new_list = [sub_list for sub_list in X if sub_list[0] == num]
if len(new_list) > 1:
output.append(new_list)
else:
output.append((new_list)[0])
print(output)