将.txt文件的数据传入dict中遇到的坑
详情:
我是想把我自己写的.txt文件的数据导入dict中的,但是后来一直报错,在网上查了很多帖子和博客都没有办法解决,直到我看到了一个说str转换为dict的文章,所以我查看是我自己的数据类型,发现是列表,然后查看了列表转换为字典的方法,发现我的方法是对的,那么为什么我的就报错了呢?后来我自己把列表打印出来,发现我的.txt文件写入数据的时候多敲了几行换行和在每一句结尾会多敲几个空格,然后就会造成报错,终于解决了,又花了很多时间,在这里记录一下,希望后来有和我遇到一样问题的不会花那么多时间,嘻嘻
上传图片和代码
with open('output.txt','r',encoding='utf-8') as f:
words=[]
for line in f.readlines():
line=line.strip('\n') #去掉换行符\n
b=line.split(' ') #将每一行以空格为分隔符转换列表
words.append(b)
print(type(words))
print(words)
words=dict(words)
print(words)
报错信息
显示列表数据发现的问题
可以发现后面多了一些空格,这样造成了运行错误
解决方法
1、我把原来的.txt文件打开,去掉了那些多余的空格,保存,再运行就可以了。
2、如果文本数据太多,那么我建议直接只把第一个空格作为分隔符转换列表,其他的不必理会,我是查资料的时候看到的一种方法,有需要看下文
txt_dict[line.split(’ ‘,1)[0]] = line.split(’ ',1)[1]
#split()函数用法,逗号前面是以什么来分割,后面是分割成n+1个部分,且以数组形式从0开始
#初学python,感觉这样表达会理解一点。。
————————————————
原文链接:https://blog.csdn.net/qq_44787943/article/details/104566951