pythoncsv列表
Ⅰ python csv模块(读写文件)
CSV文件又称为逗号分隔值文件,是一种通用的、相对简单的文件格式,用以存储表格数据,包括数字或者字符。CSV是电子表格和数据库中最常见的输入、输出文件格式。
通过爬虫将数据抓取的下来,然后把数据保存在文件,或者数据库中,这个过程称为数据的持久化存储。本节介绍Python内置模块CSV的读写操作。
1)csv.writer()
csv模块中的writer类可用于读写序列化的数据,其语法格式如下:
参数说明:
csvfile:必须是支持迭代(Iterator)的对象,可以是文件(file)对象或者列表(list)对象。
dialect:编码风格,默认为excel的风格,也就是使用逗号,分隔。
fmtparam:格式化参数,用来覆盖之前dialect对象指定的编码风格。
如果想同时写入多行数据,需要使用writerrows()方法,代码如下所示:
aggs.csv文件内容:
2)csv.DictWriter()
当然也可使用DictWriter类以字典的形式读写数据,使用示例如下:
name.csv文件内容,如下所示:
1)csv,reader()
csv模块中的reader类和DictReader类用于读取文件中的数据,其中reader()语法格式如下:
2)csv.DictReader()
应用示例如下:
输出结果:
开课吧广场-人才学习交流平台
Ⅱ Python csv库整理(部分)
近期,笔者到一些数据竞赛网站进行观察学习,发现很多数据是以csv文件处理的(废话).因而,磨刀不误砍柴工,笔者先对Python的csv库进行学习.
csv模块实现了CSV格式表单数据的读写.这可以以一个兼容Excel的方式读写其数据文件,csv模块中的reader和writer类被用来读写序列化的数据.也可以使用DictReader类和DictWriter类以字典的方式读取数据.
返回一个reader对象,该对象逐行遍历csvfile(文件和列表均适用,但是文件的话应该newline=''.
默认每一行读取一个字符串组成的列表(而非数值,除非修改QUOTE_NONUMERIC).
返回一个writer对象,负责将数据在给定的文件类对象上转换成带分隔符的字符串.csvfile(只要该对象有write()方法,文件的话应该newline=''.)
这两个方法可以把name字符串和dialect关联/脱钩.dialect可以是Dialect的子类,或者fmtparams的关键字参数.
返回一个Dialect对象为name的变种,若其未注册,抛出Error.
返回已经注册的所有变种的 名称
返回当前解析器允许的最大字段大小,如果制定了参数,参数将成为新的最大字段大小.
该对象操作上类似reader,但是把每行中的信息映射到一个字典,字典的键由fieldnames给出
fieldname的参数是一个序列sequence [1] ,如果参数缺省,默认第一行的值作为字段名.
如果某一行中的字段多于字段名(比如说约定有5项属性,但是这一行却出现了6个数据),则其余字段将放入列表中,字段名由 restkey 指定(默认为 None)。如果非空白行的字段少于字段名,则缺少的值将用 None 填充。
#其实这玩意应该就跟各种填表里面的备注用法差不多.
3.8中返回的行是dict类型.
该对象操作上类似reader,但是把每行中的信息映射到一个字典,字典的键由fieldnames给出,fieldname参数是不可缺省的.restval用来指定字典缺少键的时候要写入的值.extrasaction用于指定关键键在fieldname中找不到的情况的处理机制.'raise'引发ValueError,而'ignore'则会被忽略.
这个类被用来瑞段csv文件的格式
以下诸类均在括号中标注了在其变种注册表中的名称
定义了Excel生成的csv文件的常规属性.('excel')
定义了Excel生成的,tab分割的csv文件的常规属
性.('excel-tab')
定义了UNIX系统上生成的csv文件的常规属性('unix'):
任意可能发生的csv库函数错误.
参考链接
Python3.8.2文档中关于csv库的相关文档
Ⅲ python中列表csv文件,打开后怎么都在一列
用txt打开你的csv源文件里,看看单元格之间是用什么符号分割的,pandas默认是逗号‘,’分割的,你这个好像是空格分割的,试试这个代码df=pd.read_csv('.csv',sep='')。sep=,注意引号里面是个空格符哦。
Ⅳ 说说如何利用 Python 处理 CSV 文件
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中的数据写入列表
使用pandas读取的方法是
pandas.to_csv()
得到的结果是dataframe格式,再用numpy库转一下
具体代码:
import pandas as pd
import numpy as np
file_content = pd.to_csv(r'C:\新建文件夹\result123.csv')
row = np.array(file_content)
lx = row.tolist()
Ⅵ python如何读取csv某列XX行数据保存为列表
list1 = df[[df.columns[2],df.columns[0]]]
list2 = df[[df.columns[2],df.columns[1]]]
Ⅶ python中CSV写入字符串行表,单行变多个单字符的问题
for v in data_list:
这句有问题,你的两种格式都是list,
在这句之前应该先判断整个list的类型,如果是嵌套的list,才进行for
否则,就应该把简单list转成嵌套list
即data_list = [data_list]