我有一个要在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相比
答案 0 :(得分:0)
您的[" Abc"," Def"]位于名称" stringlist"下的同一字段中。如果你想要列表结果。试试
your_list = listRows[0]["stringlist"].split(',')