符合中小企业对网站设计、功能常规化式的企业展示型网站建设
本套餐主要针对企业品牌型网站、中高端设计、前端互动体验...
商城网站建设因基本功能的需求不同费用上面也有很大的差别...
手机微信网站开发、微信官网、微信商城网站...
CSV 表示 “Comma-Separated Values (逗号分隔的值) ” , CSV 文件是简化的电子表格,实际为纯文本文件。
创新互联建站服务项目包括龙口网站建设、龙口网站制作、龙口网页制作以及龙口网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,龙口网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到龙口省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
一个 CSV 文件,格式是这样的:
因为 CSV 文件中的每个单元格都是以逗号分割,所以也许有人会对每行文本调用 split() 方法,来解析 CSV 文件。但 CSV 文件也有自己的转义字符,通过转义字符,允许逗号和其他字符作为值的一部分,但单纯使用 split() 方法不能处理这些转义字符。因为这些潜在的缺陷,所以建议总是使用 csv 模块来读写 CSV 文件。
csv 模块是 Python 自带的,所以可以直接导入。
要使用 csv 模块从 CSV 文件中读取数据,我们需要创建一个 Reader 对象。 通过 Reader 对象,我们可以迭代遍历 CSV 文件中的每一行内容。
运行结果:
要用 csv 模块读取 CSV 文件,首先先使用 open() 函数打开它 ,就像打开任何其他文本文件一样。然后将它传递给 csv .reader() 函数。 这个函数将返回一个 Reader 对象。注意,csv .reader() 函数不接受文件名作为入参。
要访问 Reader 对象中的值,最直接的方法,就是利用 list() 将它转换成一个普通 Python 列表。它实际为一个包含列表的列表,用于表示二维数据。
我们还可以使用表达式 data [ row ][ col ] 来访问 CSV 中特定行和列的值。其中, row 是 data 中一个列表的下标, col 是该列表中,我们想访问的项的下标:
运行结果:
运行结果:
Writer 对象可以让我们把数据写入 CSV 文件。
运行结果:
在 Windows 上,需要为 open() 函数的 newline 关键字参数传入一个空字符串。如果没有设置 newline 参数, output.csv 中的行距将变为两倍,如下图所示。
如果写入的内容包含逗号,那么 csv 模块会自动加上双引号,对其进行转义,如下例所示。
运行结果:
我们也可以利用 delimiter ,来制作 TSV 文件,TSV 是Tab-separated values的缩写,即以制表符作为分隔符的文件;利用 lineterminator 参数来设定行距。
运行结果:
这里利用 lineterminator='\n\n\n' 将行与行之间的字符变为三个换行符,效果就是实现了 3 倍行距。
python中读取csv方法有3种:
第一种,普通方法读取(open函数打开,然后使用for循环读取内容);
第二种,使用用CSV标准库读取;
第三种,用pandas模块读取。
Python读取CSV文件方法如下:
如下是一个CVS文件
使用Python打开CSV可以直接使用open函数打开,然后使用reader函数读取内容,实现代码如下:
运行结果如下:
更多Python相关技术文章,请访问Python教程栏目进行学习!以上就是小编分享的关于python中怎么读取csv文件的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!
csv文件具有格式简单,快速存取,兼容性好等特点,工程、金融、商业等很多数据文件都是采用csv文件保存和处理。工作中数据处理也用到了csv,简要总结下使用经验,特别是那些由于本地兼容性导致的与官方文档的差异使用。
csv(comma Seperated Values)文件的格式非常简单,类似一个文本文档,每一行保存一条数据,同一行中的各个数据通常采用逗号(或tab)分隔。
python自带了csv模块,专门用于处理csv文件的读取和存档。
csv模块中,主要由两种方式存取csv文件:函数方法;类方法。
csv.reader(csvfile,dialect ='excel',** fmtparams)
返回一个reader对象,它将迭代给定csvfile中的行。
csvfile可以是任何支持迭代器协议的对象,并在每次next()调用其方法时返回一个字符串- 文件对象和列表对象都是合适的。如果csvfile是一个文件对象,那么它必须在平台上以“b”标志打开,这会产生影响。可以给出可选的 dialect 参数,该参数用于定义特定于CSV方言的一组参数。它可以是类的子类的实例,也可以是函数Dialect返回的字符串之一 list_dialects()。其他可选的fmtparams可以给出关键字参数来覆盖当前方言中的各个格式参数。
csv.writer(csvfile,dialect ='excel',** fmtparams)
返回一个编写器对象,负责将用户的数据转换为给定的类文件对象上的分隔字符串。
csvfile可以是带有write()方法的任何对象 。如果csvfile是一个文件对象,那么它必须在平台上以“b”标志打开,这会产生影响。 可以给出可选的dialect参数,该参数用于定义特定于CSV方言的一组参数。它可以是类的子类的实例,也可以是函数Dialect返回的字符串之一 list_dialects()。可以给出其他可选的fmtparams关键字参数来覆盖当前dialect中的各个格式参数。
class csv.DictReader(f,fieldnames = None,restkey = None,restval = None,dialect ='excel',* args,** kwds)
创建一个像常规阅读器一样操作的对象,但将读取的信息映射到一个dict,其键由可选的 fieldnames 参数给出。 字段名 的参数是一个序列,其元素与输入数据的顺序中的字段相关联。这些元素成为结果字典的关键。如果省略 fieldnames 参数,则文件 f 的第一行中的 值 将用作字段名。如果读取的行包含的字段多于字段名序列,则将剩余数据添加 为由restkey 值键入的序列。如果读取的行的字段数少于字段名序列,则其余的键将采用可选的 restval 参数的值。任何其他可选或关键字参数都将传递给基础 reader 实例。
class csv.DictWriter(f,fieldnames,restval ='',extrasaction ='raise',dialect ='excel',* args,** kwds)
创建一个像常规编写器一样操作的对象,但将字典映射到输出行。的字段名的参数是一个序列识别在哪些值在传递给字典中的顺序按键的writerow()方法被写入到文件˚F。如果字典缺少字段名中的键,则可选的restval参数指定要写入的值。如果传递给方法的字典包含在字段名中找不到的键,则可选的extrasaction参数指示要采取的操作。如果设置为a 则被提升。如果设置为writerow()'raise'ValueError'ignore',字典中的额外值将被忽略。任何其他可选或关键字参数都将传递给基础 writer实例。
请注意,与DictReader类不同,它的fieldnames参数DictWriter不是可选的。由于Python的dict 对象没有排序,因此没有足够的信息来推断应该将行写入文件f的顺序。