我是新手,谢谢你的耐心。我有一个txt文件“student.txt”,我想把它写入一个csv文件“student.csv”
student.txt
name-> Alice
name-> Sam
sibling-> Kate,
sibling-> Luke,
hobby_1-> football
hobby_2-> games
name-> Alex
name-> Ramsay
hobby_1-> dance
hobby_2-> swimming
hobby_3-> jogging
以csv为单位的预期输出:
Name Sibling Hobbies
name-> Alice N/A N/A
name-> Sam sibling-> Kate hobby_1-> football
sibling-> Luke hobby_2-> games
name-> Alex N/A N/A
name-> Ramsay N/A hobby_1-> dance
hobby_2-> swimming
hobby_3-> jogging
到目前为止我已经完成的代码:
file = open('student.txt' , 'r')
with open('student.csv' , 'w') as writer:
writer.write ('Name,Sibling,Hobbies\n')
for eachline in file:
if 'name' in eachline:
writer.write (eachline)
if 'sibling' in eachline:
writer.write (eachline)
if 'hobby' in eachline:
writer.write (eachline)
基本上,名称之后的任何数据都是在下一个名称之前捕获的。但我不知道如何在csv中有序地把它放在N/A中,特别是当一些名字没有兄弟姐妹/爱好时
您可以按如下方式处理此问题:
示例实现:
输出读取为文本:
输出在excel中读取为csv:
问题比我想象的要复杂:)
相关问题 更多 >
编程相关推荐