我有一个包含以下数据的文本文件
Name,Age,username,password,account_signup_date,account_close_date
Freddy,36,fred,123f,2017/04/25,2019/01/22
Tara,25,mtara,123t,2018/03/22,2019/02/15
你能帮我把这个.txt文件中的数据放到Python的字典中,输出显示在第二个.txt文件中。
输出应该有
Name, Age, username, Password, Difference between the present date and the account_close_date
我有以下代码打开文件,但我无法将数据输入字典
dict = {}
with open(sampletext.txt,'w') as file_object:
title = file_object.readline()
titlesplit = title.split(',')
for each_line in file_object:
本问题及下方已被采纳的回答均来自云栖社区【Python技术进阶大群】。https://yq.aliyun.com/articles/690084 点击链接欢迎加入社区大社群。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
思路:
1.按行读出来。第一行为字段,其它为内容
字段就是key值,用split以逗号分。
然后创建一个空字典。
遍历往字典里写数据。
这将帮助您从sample.txt您拥有的文件中获取输入,跳过第一行,并将其他行写为您所进入的词典new.txt。
from datetime import datetime
dict1 = {}
with open('sample.txt', 'r') as input_file:
title = input_file.readlines()[1:]
for items in title:
titlesplit = items.strip().split(',')
dict1['Name'] = titlesplit[0]
dict1['Age'] = titlesplit[1]
dict1['Username'] = titlesplit[2]
dict1['Password'] = titlesplit[3]
today = datetime.now()
closing_date = datetime.strptime(titlesplit[5], "%Y/%m/%d")
dict1["Difference"] = str((today - closing_date).days) + " days"
with open('new.txt', 'a') as output_file:
output_file.write(str(dict1))
output_file.write("\n")
OUTPUT:
{'Name': 'Freddy', 'Age': '36', 'Username': 'fred', 'Password': '123f', 'Difference': '35 days'}
{'Name': 'Tara', 'Age': '25', 'Username': 'mtara', 'Password': '123t', 'Difference': '11 days'}