excel表格中怎样使用CSV逗号分隔格式?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel表格中怎样使用CSV逗号分隔格式?相关的知识,希望对你有一定的参考价值。
参考技术A CSV格式会清除数据源中的各种格式,只会保留数值。Excel版本参考:2010
1、CSV中如果出现0123,会变成123,不会保留格式,如果要显示格式,需要打开csv后,设置格式为”0000“即可。
2、CSV文件,默认使用逗号隔开数据,所以如果数据源中有逗号,就会被分列到其他单元格,所以从其他软件或者系统导出数据时不要使用逗号作为分隔符。
处理CSV文件
CSV文件是简化的电子表格,保存为纯文本文件。
CSV文件中的每行代表电子表格中的一行,都好分割了该行中的单元格。
CSV文件是简单的,缺少Excel电子表格的许多功能,但它是表示电子表格数据的直接方式。
CSV格式和它声称的完全一致:它就是一个文本文件,具有逗号分隔的值。
但并非CSV文件中的每个逗号,都表示两个单元格之间的分界。
因为split()方法不能处理CSV文件的转义字符,所以使用CSV模块读写CSV文件。
Reader对象
要用CSV模块从CSV文件中读取数据,需要创建一个Reader对象。
Reader对象迭代遍历CSV文件中的每一行。
CSV模块是python自带的,不需要安装,直接导入可用。
不能将文件名字字符串传递给csv.reader()函数。
样例:
>>> import csv >>> file1=open('file1.csv') >>> file1Reader=csv.reader(file1) >>> file1Data=list(file1Reader) >>> file1Data [['1', '张三', '男', '28'], ['2', '李四', '男', '19'], ['3', '王五', '男', '25'], ['4', '赵六', '男', '35'], ['5', '田七', '男', '54']] >>> file1Data[2][1] '王五' >>>
要取得行号,就使用Reader对象的line_num变量,它包含了当前行的编号。
Reader对象只能循环遍历一次。要再次读取CSV文件,必须调用csv.reader,创建一个对象。
>>> import csv >>> file1=open('file1.csv') >>> file1Reader=csv.reader(file1) >>> for row in file1Reader: ... print('Row #'+str(file1Reader.line_num)+' '+str(row)) ... Row #1 ['1', '张三', '男', '28'] Row #2 ['2', '李四', '男', '19'] Row #3 ['3', '王五', '男', '25'] Row #4 ['4', '赵六', '男', '35'] Row #5 ['5', '田七', '男', '54'] >>> for row in file1Reader: ... print('Row #'+str(file1Reader.line_num)+' '+str(row)) ... >>>
Writer对象
Writer对象将数据写入CSV文件。要创建一个Writer对象,就使用csv.writer()函数。
在windows上,需要为open()函数的newline关键字参数传入一个空字符串。
如果忘记设置newline关键字参数,CSV文件中的行距将有两倍。
在CSV文件中使用双引号,防止逗号被自动转义。
样例:
>>> import csv >>> file1=open('file1.csv','w',newline='') >>> file1Writer=csv.writer(file1) >>> file1Writer.writerow(['1','Tom','male','22']) 15 >>> file1Writer.writerow(['2','Jack','male','29']) 16 >>> file1Writer.writerow(['3','Linda','female','37']) 19 >>> file1.close()
以上是关于excel表格中怎样使用CSV逗号分隔格式?的主要内容,如果未能解决你的问题,请参考以下文章