[英]write a list in a cell csv python
I have a list of strings to write in a field in CSV. 我有一个要在CSV字段中写入的字符串列表。 I read this list in another program. 我在另一个程序中读到了这个列表。 However when I read it back , it is read as a string and not list. 但是当我读回它时,它被读作字符串而不是列表。 Code so far 代码到目前为止
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]
When I access listRows[0]["stringlist"], it returns a string. 当我访问listRows [0] [“stringlist”]时,它返回一个字符串。 The above print gives [ 以上打印给出[
as compared to Abc 与Abc相比
Your ["Abc", "Def"] are in the same field under the name "stringlist". 您的[“Abc”,“Def”]位于“stringlist”名称下的同一字段中。 If you want the list result. 如果你想要列表结果。 Try 尝试
your_list = listRows[0]["stringlist"].split(',')
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.