博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
txt,csv,json互相转化
阅读量:4981 次
发布时间:2019-06-12

本文共 3464 字,大约阅读时间需要 11 分钟。

也没啥,记下来怕忘了.说明都在代码里面:

麻蛋,这个着色好难看

import csvimport json#从txt变为csvstudent_txt=[];with open("student.txt",mode='r',encoding='utf-8')as student_txt_file_name:	for i in student_txt_file_name.readlines():		student_txt.append(i.strip('\n').split(" "));	#去掉换行符,转为list,使用空格分开(因为txt里面是以空格隔开)with open("student.csv",mode='w',encoding='ansi',newline='')as student_csv_file_name:	#newline='':作用是防止空行产生;encoding='ansi'创建一个以ASCII编码的csv文件,用utf-8的话我的Excel不认,乱的	write=csv.writer(student_csv_file_name);	#创建一个编辑对象	for i in student_txt:		write.writerow(i);	#把每一个列表(子列表)作为行写入#我没有主动关闭这两个文件的原因我不说,反正我知道,我自己忘了就让我自己想去.#从csv变为txtstudent_csv=[];student_txt=[];with open("student.csv",mode='r',encoding='ansi')as student_csv_file_name:#编码读写一致	read_object=csv.reader(student_csv_file_name);	with open("student1.txt",mode='w',encoding='ansi')as student_txt_file_name:		for i in read_object:			j=' '.join(i)+'\n';	#这种奇怪的转化方式亮瞎我的眼.还一闪一闪的像迪厅!,			student_txt_file_name.writelines(j);#不一定非得是列表,字典也可以#txt转jsonstudent_json=[];student_txt=[];with open('student.txt',mode='r',encoding='utf-8')as student_txt_file_name:	with open("student.json",mode='w',encoding='ansi')as student_json_file_name:		for i in student_txt_file_name.readlines():			student_txt.append(i.strip('\n').split(' '));		key=student_txt[0];#作为键		for i in range(1,len(student_txt)):			student_json_temp=[];			for j in zip(key,student_txt[i]):		#zip接受多个可迭代对象作为参数,然后将这些对象中的对应位置的元素组成一个个的元组:zip([1,2,3],[4,5,6])返回[(1,4),(2,5),(3,6)]				k=":".join(j);		#这个的作用就是把(1,4)变成"1:4"				student_json_temp.append(k);			student_json.append(student_json_temp);		json.dump(student_json,student_json_file_name);#这种写方式让我有些郁闷,总觉得像创建对象似的#json转txtstudent_json=[];student_txt=[];with open('student_json转txt.txt',mode='w',encoding='ansi')as student_txt_file_name:	with open("student.json",mode='r',encoding='ansi')as student_json_file_name:		read_object=json.load(student_json_file_name);		for i in read_object:			head_list=[];			body_list=[];			for j in i:				k=j.split(':');				if len(student_json)==0:					head_list.append(k[0]);				body_list.append(k[1]);			if len(student_json)==0:				student_txt_file_name.write(' '.join(head_list)+'\n');				student_json.append(student_json);	#用了一次就没用了			student_txt_file_name.write(' '.join(body_list)+'\n');#csv转jsonstudent_csv=[];student_json=[];with open("student.csv",mode='r',encoding='ansi')as student_csv_file_name:	read_object=csv.reader(student_csv_file_name);	#用csv模块自带的函数来完成读写操作	with open("student_csv转json.json",mode='w',encoding='ansi')as student_json_file_name:		for i in read_object:			student_csv.append(i);		key=student_csv[0];		for i in range(1,len(student_csv)):			student_json_temp=[];			for j in zip(key,student_csv[i]):				k=":".join(j);				student_json_temp.append(k);			student_json.append(student_json_temp);		json.dump(student_json,student_json_file_name);#json转csvstudent_csv=[];student_json=[];with open("student.json",mode='r',encoding='ansi')as student_json_file_name:	with open("student_json转csv.csv",mode='w',encoding='ansi',newline='')as student_csv_file_name:		read_object=json.load(student_json_file_name);		write=csv.writer(student_csv_file_name);		for i in read_object:	#读出来是列表			ledlist=[];			templist=[];			for a in i:				j=a.split(':');				ledlist.append(j[0]);				templist.append(j[1]);			if len(student_csv)==0:				student_csv.append(ledlist);			student_csv.append(templist);		for i in student_csv:			write.writerow(i);

  

转载于:https://www.cnblogs.com/love-DanDan/p/10655509.html

你可能感兴趣的文章
(转)logback配置详解
查看>>
解决电脑系统卡、慢 3分钟成为高手!
查看>>
9. Palindrome Number
查看>>
52. N-Queens II
查看>>
ORA-01555错误总结(二)
查看>>
flask简单demo
查看>>
SSH
查看>>
卷积神经网络—第一周
查看>>
如何形容这份美?
查看>>
linux 新增硬盘分区格式化
查看>>
暴零狗的泉五之旅 8-21
查看>>
【bzoj2431】[HAOI2009]逆序对数列 dp
查看>>
7 天玩转 ASP.NET MVC — 第 6 天
查看>>
论互联网合并趋势之不一样的「合并」
查看>>
JAVA 反序列化攻击
查看>>
CF1153F Serval and Bonus Problem 【期望】
查看>>
HTML5+CSS4基础知识测试
查看>>
用户态和内核共享内存----使用 /dev/mem & mmap
查看>>
SQL存储过程异常处理
查看>>
软件测试思维导图
查看>>