如何使用字符串和数字将值列表写入文本文件

时间:2016-07-12 12:26:17

标签: python python-3.x

我有3个名单:

AList = ['name','name2']
BList = ['desg1','desg2']
InList = [1,2]

我使用follo代码片段将其写入文本文件:

fo = open(filepath, "w")
for i in zip(AList,BList,InList):
     lines=fo.writelines(','.join(i) + '\n')

但是我得到了以下错误:

TypeError: sequence item 2: expected string, int found

如何使用新行字符将值写入文本文件。

2 个答案:

答案 0 :(得分:1)

join期望字符串项,但你在InList中已经是int。因此,在使用join之前将它们转换为字符串,或者你可以这样做:

AList = ['name','name2']
BList = ['desg1','desg2']
InList = ['1','2']

fo = open("a.txt", "w")
for i in range(len(AList)):
    dataToWrite = ",".join((AList[i], BList[i], str(InList[i]))) + '\n'
    lines=fo.writelines(dataToWrite)

答案 1 :(得分:0)

php -i期望一系列join项作为第一个参数,但您的str包含InList个值。只需将它们转换为int

即可
str

我建议您在处理文件时使用lines=fo.writelines(','.join(map(str, i)) + '\n') 块。您也可以在一个语句中写下所有行:

with