请问如何用python将字典转换到txt文本中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问如何用python将字典转换到txt文本中?相关的知识,希望对你有一定的参考价值。

字典的类型如下
dic='11542': '68784': 5.0, '43485': 5.0, '83646': 5.0, '109754': 5.0, '119735': 3.0, '42640': 2.0, '69983': 5.0, '119736': 5.0
希望出来的结果是
11542 68784 5.0
11542 43485 5.0
……
请高手赐教

1、首先打开python的一个文件。

2、首先是定义一个字典,用括起来,在里面使用key:value的形式存储数据,再将这个字典赋值给变量zidian。

3、接着是获取字典的某一个值,比如获得小明的成绩,我们可以这样写:zidian["小明"]。

4、也可以修改字典里面的值,格式:字典的名称[key值]=新值。

5、如果我们想要删除字典中的某一个元素,可以使用pop函数来说实现。

6、使用print将这个字典打印出来。

7、最后运行这个程序,我们就可以看到字典的内容了,发现字典中的第一个元素已经被删除了。

参考技术A from __future__ import print_function
dic='11542': '68784': 5.0, '43485': 5.0, '83646': 5.0, '109754': 5.0, '119735': 3.0, '42640': 2.0, '69983': 5.0, '119736': 5.0
dicfile=open('dic.txt','w')
for key in dic:
    for innerkey in dic[key]:
        print('0:<101:<102'.format(key,innerkey,dic[key][innerkey]),file=dicfile)
dicfile.close()

字典是无序的,因此输出的顺序不确定,如果要有序输出只能按大小排序后输出

本回答被提问者采纳
参考技术B >>> dic='11542': '68784': 5.0, '43485': 5.0, '83646': 5.0, '109754': 5.0, '119735': 3.0, '42640': 2.0, '69983': 5.0, '119736': 5.0
>>> print(d, k, v) for d in dic for (k, v) in sorted(dic[d].items())
11542 109754 5.0
11542 119735 3.0
11542 119736 5.0
11542 42640 2.0
11542 43485 5.0
11542 68784 5.0
11542 69983 5.0
11542 83646 5.0
None

写入文件的话,可以这样:
file = open(path, 'w') #dir是对应的路径
dic='11542': '68784': 5.0, '43485': 5.0, '83646': 5.0, '109754': 5.0, '119735': 3.0, '42640': 2.0, '69983': 5.0, '119736': 5.0
file.write(d, k, v) for d in dic for (k, v) in sorted(dic[d].items())追问

我的是2.73版本的python,在eclipse中进行调试。写入文件调试出现问题,出错如下TypeError: function takes exactly 1 argument (3 given)。

追答

抱歉才看到,因为没用文件测试我忘了write一次只能写一个- -

file.write(d, k, v) -> file.write(' '.join([d, k, v]))就行了,不过反正问题解决了...

参考技术C # coding=utf-8
def Trans(dic):
rt=[]
try:
fp = open("dict.txt",'w')
for (k,v) in dic.items():
for (ik,iv) in v.items():
fp.write('%-10s,%-10s,%-10s\n' %(k,ik,iv))
return rt
finally:
fp.close()
if __name__=="__main__":
dic='11542': '68784': 5.0, '43485': 5.0, '83646': 5.0, '109754': 5.0, '119735': 3.0, '42640': 2.0, '69983': 5.0, '119736': 5.0
rt=Trans(dic)
参考技术D 楼上的是正解啊?莫非你还有什么特殊的需求?

如何用程序实现将word文件转换成txt纯文本文件

打开需要转换的文件,我这里随手写一份做演示,使用的 word版本是2010版,如图:

我们来转换为txt格式,点击菜单"文件"->"另存为",然后在弹出的对话框中,选择"纯文本",然后保存,如图:

然后,它会弹出一个编码选择对话框,并提示我们文件中有包含无法显示的字符,
因为默认导出的是文本编码为"GB2312",它只包含了常用的汉字及标点,不包含好多unicode字符,文本中的心形符号"♠"就是一个UNICODE字符,所以,会以红色显示并提醒,如图:

因此我们需要选择另外的编码方式,点击上面的"其他编码",然后右侧的编码列表会变成可用状态,然后查找到"Unicode(UTF-8)"这个选项,如图,显示就正确了:

然后确定选择,再用记事本打开文件,如图,显示是正常的:

假如使用的是GB2312的编码方式的话,上面的"♠"会显示为"?"号,如图:

另一种办法是直接复制word文件的内容,然后粘贴到记事本中,保存时要选择为utf-8,如图,其它操作相似,限于篇幅,不再一下示范:
参考技术A 点文件,另存为,在文件类型中找TXT格式,保存即可。

以上是关于请问如何用python将字典转换到txt文本中?的主要内容,如果未能解决你的问题,请参考以下文章

如何用程序实现将word文件转换成txt纯文本文件

请问如何用matlab创建TXT文本文档啊?

请问在VB中如何用代码区别一个txt文件是ANSI编码还是Unicode编码?

急求:如何用python删除文本中的重复行?

Win10 如何用cmd命令将TXT文本内容隐藏到jpg图片内

请问在LINUX当中,如何将当前日期时间写入txt文件中 以及 如何用当前日期重命名txt文件。麻烦讲的细一些