繁体   English   中英

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

[英]write a list in a cell csv python

我有一个要在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相比

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM