【问题标题】:Write nested lists column wise to CSV将嵌套列表列明智地写入 CSV
【发布时间】:2013-12-18 15:20:02
【问题描述】:

我有一些这样的列表:

[['CD', 'CC', 'CD'], 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
[['DT', 'CC', 'CD'], 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1] 
[['EX', 'CC', 'CD'], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] 
[['JJ', 'CC', 'CD'], 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1]

我想将这些列表写入 csv 文件列。到目前为止我做了什么:

for i in range(1,840):
    # function which compute the result value
    result=Count_SP(i,leng_second,first_position+1,second_position)
    final.append(result)


print final             # final contains lists      
File_Write(final)       # File_Write() writes the final into a csv file

需要输出:

['CD', 'CC', 'CD'],['DT', 'CC', 'CD'],['EX', 'CC', 'CD'],['JJ', 'CC', 'CD']
1,0,0,0
1,0,0,0
1,1,0,1
1,0,0,0
1,1,0,1
1,0,0,0
1,1,0,1
1,1,0,1
1,1,0,0
1,1,0,1
1,1,0,1
1,1,0,1

【问题讨论】:

    标签: python python-2.7 csv


    【解决方案1】:

    如果你把你的列表放在一个容器里,那其实很简单:

    import csv
    
    container = [[['CD', 'CC', 'CD'], 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1],
                 [['DT', 'CC', 'CD'], 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1],
                 [['EX', 'CC', 'CD'], 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
                 [['JJ', 'CC', 'CD'], 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1]]
    
    with open('out.csv', 'w') as csvfile:
        csvw = csv.writer(csvfile, delimiter=',')
        for column in zip(*[s for s in container]):
            csvw.writerow(column)
    

    这将创建文件out.csv,其中将包含输入列表列:

    "['CD', 'CC', 'CD']","['DT', 'CC', 'CD']","['EX', 'CC', 'CD']","['JJ', 'CC', 'CD']"
    1,0,0,0
    1,0,0,0
    1,1,0,1
    1,0,0,0
    1,1,0,1
    1,0,0,0
    1,1,0,1
    1,1,0,1
    1,1,0,0
    1,1,0,1
    1,1,0,1
    1,1,0,1
    

    【讨论】:

      猜你喜欢
      • 2020-01-03
      • 2018-08-10
      • 2021-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多