加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 编写任意长度的文件列表

发布时间:2020-12-20 12:34:26 所属栏目:Python 来源:网络整理
导读:我有一份表格清单 lssample=[ [ [A,B],[C] ],[ [D],[E,F] ],[ [G,H],[I] ]] 将其写入表单中的文件的最有效方法是什么? A,B : CD: E,FG,H : I 请注意,长度对于子列表是任意的.以下代码仅以其形式写入列表(带括号).是否有一种pythonic方式将其写入文件? with
我有一份表格清单

lssample=[  [ [A,B],[C] ],[ [D],[E,F] ],[ [G,H],[I] ]]

将其写入表单中的文件的最有效方法是什么?

A,B : C
D: E,F
G,H : I

请注意,长度对于子列表是任意的.以下代码仅以其形式写入列表(带括号).是否有一种pythonic方式将其写入文件?

with open("output1.csv","wb") as f:
    writer = csv.writer(f)
    writer.writerows(lssample)

解决方法

这似乎是一个非常简单的格式,只需滚动你自己的作家,如:

In [2]: data = [[['A','B'],['C']],[['D'],['E','F']],[['G','H'],['I']]]

In [3]: import io

In [4]: with io.StringIO() as f:
    ...:     for record in data:
    ...:         left,right  = map(",".join,record)
    ...:         f.write(f"{left} : {right}n")
    ...:     final = f.getvalue()
    ...:

In [5]: print(final)
A,B : C
D : E,H : I

注意,io.StringIO只是一个内存缓冲区,其作用类似于文件,以便于说明.你会这样做:

with open("output1.txt","w") as f:
    ...

当然,您不需要final = f.getvalue().另外,我使用的是Python 3.6 f-strings.如果你没有,你可以使用:

f.write("{} : {}".format(left,right)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读