为了账号安全,请及时绑定邮箱和手机立即绑定

用空格分隔的写行将列表列表写入文本文件?

用空格分隔的写行将列表列表写入文本文件?

侃侃尔雅 2021-09-11 20:11:11
我想将一个列表列表写入文本文件writelines(),并使用空格作为分隔符。有没有比以下代码更简单的方法?myList = [[1, 'A1', 100, '1001', '1', '1001', 'aa'],          [2, 'B1', 101, '3008', '2', '3008', 'bb'],          [3, 'C1', 102, '6987414', '3', '6987414', 'cc']]strList = []for row in myList:    myList = [str(item) for item in row]    strList.append(myList)with open(r"D:/20181210", "w",encoding="utf-8") as fo:    for row in strList:        list1 = [(item+" ") for item in row  ]        fo.writelines( list1)        fo.write('\n')然后我的文本文件输出如下所示:1 A1 100 1001 1 1001 aa 2 B1 101 3008 2 3008 bb 3 C1 102 6987414 3 6987414 cc 结果是对的,但我认为我的代码不是最简单的。
查看完整描述

2 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

或者使用write和使用嵌套str.join:


with open(r"D:/20181210", "w",encoding="utf-8") as fo:

    fo.write('\n'.join([' '.join(i) for i in myList]))


查看完整回答
反对 回复 2021-09-11
?
忽然笑

TA贡献1806条经验 获得超5个赞

要么csv按照 Barmar 的建议使用 stdlib模块,要么使用和 genexp 构建您的字符串str.join。


lines = [['some', 'space', 'separated', 'fields'],

         ['in', 'a', 'few', 'rows']]


with open(filename, 'w') as fout:

    fout.writelines(' '.join(line) for line in lines)


查看完整回答
反对 回复 2021-09-11
  • 2 回答
  • 0 关注
  • 254 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信