Python练习册——第0014题
题目:纯文本文件 student.txt为学生信息, 里面的内容(包括花括号)如下所示:
{
"1":["张三",150,120,100],
"2":["李四",90,99,95],
"3":["王五",60,66,68]
}
请将上述内容写到 student.csv文件中
代码实现
"""
@ 文本数据清洗
@ txt转csv
"""
import pandas as pd
with open("student.txt","r",encoding="utf8") as f:
# 数据清洗
lines = f.readlines()[1:-1]
lines = [line.strip() for line in lines]
lines = map(lambda x:x[0:-1] if x[-1] == "," else x,lines)
# 数据遍历
for line in lines:
content = line.split(":")
key = content[0]
values = content[1][1:-1].split(",")
values.insert(0,key)
string = ",".join(values)+"\n"
with open("student.csv","a") as f1:
f1.write(string)
df = pd.read_csv("student.csv",encoding="gbk",header=None)
df
0 | 1 | 2 | 3 | 4 | |
---|---|---|---|---|---|
0 | 1 | 张三 | 150 | 120 | 100 |
1 | 2 | 李四 | 90 | 99 | 95 |
2 | 3 | 王五 | 60 | 66 | 68 |