【问题标题】:Assemble multiple lists into a single list through a loop通过循环将多个列表组装成一个列表
【发布时间】:2022-02-09 22:34:43
【问题描述】:

作为读取使用 tkinder 和 tksheet 库制作的 Csv 文件的应用程序的一部分,我希望确保从我的电子表格中检索并单独转换为列表的每一行都可以分组为一个唯一且唯一的逗号分隔列表。

我目前有以下代码:

with open('my_csv_file.csv') as csvfile:
     reader = csv.reader(csvfile, delimiter=';')
            
     for row in reader:
         if row != '' and row[0].isdigit():
            liste = [row[0], row[1], row[2], row[3], row[4]]
            print(liste)

输出:

['AAA', 'AAA', 'AAA', 'AAA', 'AAA']
['BBB', 'BBB', 'BBB', 'BBB', 'BBB']
['CCC', 'CCC', 'CCC', 'CCC', 'CCC']

我想要什么:

[['AAA', 'AAA', 'AAA', 'AAA', 'AAA'],
['BBB', 'BBB', 'BBB', 'BBB', 'BBB'],
['CCC', 'CCC', 'CCC', 'CCC', 'CCC']]

【问题讨论】:

    标签: python list loops csv


    【解决方案1】:

    附加到顶部列表以制作嵌套列表。

    lst = []
    
    with open('my_csv_file.csv') as csvfile:
         reader = csv.reader(csvfile, delimiter=';')
                
         for row in reader:
             if row != '' and row[0].isdigit():
                lst.append([row[0], row[1], row[2], row[3], row[4]])
    
    print(lst)
    

    【讨论】:

    • 感谢您的帮助:)
    【解决方案2】:

    您可以使用 list +=在列表中添加列表和追加列表

    with open('my_csv_file.csv') as csvfile:
         res = []
         reader = csv.reader(csvfile, delimiter=';')
                
         for row in reader:
             if row != '' and row[0].isdigit():
                res += [[row[0], row[1], row[2], row[3], row[4]]]
                
    
    

    或者你可以使用append

    with open('my_csv_file.csv') as csvfile:
         res = []
         reader = csv.reader(csvfile, delimiter=';')
                
         for row in reader:
             if row != '' and row[0].isdigit():
                res.append([row[0], row[1], row[2], row[3], row[4]])
                
    

    【讨论】:

    • 感谢您的帮助 :) 现在似乎可以工作了
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-15
    • 2017-02-16
    相关资源
    最近更新 更多