Python导入csv文件,python将data文件转换为csv文件
转换Python。csv文件到。vcf文件。徜徉在代码世界的朋友们,你们好。家里需要导入大量联系方式的时候,需要一个学软件工程的弱鸡帮忙,于是在弱鸡拼命搜了4个小时的代码后,终于拿到了第一个真正在生活中使用的程序代码。所以我迫不及待的在我的知识源里写了这篇文章,因为我觉得这里写的文章太多了。散开(不知道用什么词)。我查了一下然后组合了很多文章才得到这个只有几十行代码的,所以想自己写一个。其他的孟新人会一眼就看出来。嘻嘻…
清理数据
当我拿到家人给我的数据时,是一个Excel电子表格,里面有各种数据和超链接。它很脏,所以我们必须清理它。因为我们导入电话通讯录的时候,需要的只是一个文本文件,所以我把需要的数据复制到一个新的文本文件中,这样可以直接消除Excel中附加的超链接。(这里应该可以用代码解决,但是我不能。原谅我是一只迟到的老手套)
这时候我们就把原来的Excel清空,把数据放到文本文档里(复制粘贴即可),然后点击另存为。csv文件。接下来,就可以交给我们的大蟒蛇了:
Import osfile= -输入你要读取的csv文件的路径(我用的是绝对路径)- def file path _ short name _ extension(file):#返回文件扩展名。csv等。temp _ filename)=OS . path . split(file)(shortname,Extension)=OS . path . split ext(temp _ filename)return(file path,short name,Extension)def cv(file):If not OS . path . is file(file):print( file不存在)else:a=file _ path _ short name _ Extension(file)[2]If==。 csv: print(此文件是csv文件)csv2vcf(文件)print(生成的vcf文件)elif a==。 vcf: print(此文件是vcf文件)# vcf2csv(file) print(生成的csv文件)Else: print(请选择正确的CSV文件或vsf文件)def csv2vcf (file): RF=open (file,encoding= gbk ,mode= r )。阅读()。split( \ n )name=file _ path _ short name _ extension(file)with open(name[0]name[1]。vcf , w ,encoding= utf-8 )as wf:content=[ BEGIN:VCARD , VERSION:3.0 ,,,, END:VCARD\n\n ,]for line in RF:title=line . split( \ t )if title[0]== name :continue if title[0]= :break if title[1]= :break if not title[0]= :content[2]= N;CHARSET=UTF-8: title[0]content[3]= FN;CHARSET=UTF-8: title[0]if not title[1]== :content[4]= TEL;Type=cell: title [1] str= \ n 。join(content)wf . write(str)content=[ begin:vcard , version: 3.0 ,,, end: vcard \ n \ n
1.在将Excel保存为csv文件时,我遇到了读取文件代码出错的问题。我试过gbk、UTF-8、GB2312等代码,打开. read. Read()时输出乱码(现在不知道为什么)。将csv文件作为文本文档打开后,我覆盖了txt文本文档中的数据,用gbk编码成功。(如果您在txt文本文档中保存的编码是UTF-8,您可以在将文本文档另存为中选择编码格式)
如果在编译中报错,说明编码格式问题,可以在open函数中添加errors=ignore ,这样即使是乱码,仍然会输出,可以更直观的找到错误的。
2.分段数据时,首先要通过open.read()输出,观察输出数据的格式规则,然后再分段。记住:不能直接应用代码,否则报错了也不知道为什么。
今天就写这么多吧,感谢这些文章教会了我:
的基本架构。vcf文件
从csv生成vcf
有什么问题可以私信问我。我看到了会帮你想想的。写小代码需要帮助的可以滴我,呵呵。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。