在单元格csv python中写一个列表

时间:2015-03-01 17:04:51

标签: python list csv

我有一个要在CSV字段中写入的字符串列表。我在另一个程序中读到了这个列表。但是当我读回它时,它被读作字符串而不是列表。代码到目前为止

import csv  
import codecs
def write_csv(outputcsv, rows, fieldnames):
            try:
                        restval=""
                        extrasaction="ignore"
                        dialect="excel"
                        outputfile = codecs.open(outputcsv + ".csv",'w')
                        csv_writer = csv.DictWriter(outputfile, fieldnames, restval, extrasaction, dialect, quoting=csv.QUOTE_NONNUMERIC)
                        csv_writer.writeheader()
                        csv_writer.writerows(rows) 
                        outputfile.close()
            except csv.Error :
                            print "outputcsverror"


def read_csv(inputcsv):   
                try:
                    inputfile = codecs.open(inputcsv+ ".csv",'r') 
                    result = list(csv.DictReader(inputfile))
                    return result              
                except csv.Error:
                            print "inputcsverror" 





if __name__ == '__main__':
            rowdict=dict()
            Allrows=list()
            rowdict["stringlist"]=["Abc", "Def"]
            Allrows.append(rowdict)
            fieldnames=["stringlist"]
            outputcsv="teststrings"
            write_csv(outputcsv, Allrows, fieldnames)
            listRows=read_csv(outputcsv)
            print listRows[0]["stringlist"][0]

当我访问listRows [0] [“stringlist”]时,它返回一个字符串。 以上打印给出 [
与Abc相比

1 个答案:

答案 0 :(得分:0)

您的[" Abc"," Def"]位于名称" stringlist"下的同一字段中。如果你想要列表结果。试试

your_list = listRows[0]["stringlist"].split(',')