精华内容
下载资源
问答
  • python读取csv文件第一行
    千次阅读
    2020-12-22 11:56:51

    我通过Django上传了一个CSV文件,我试着读它的第一行。文件存储在服务器上的/tmp/csv_file/test.csv

    文件如下所示:

    ^{pr2}$

    我正在尝试获取文件的标题,例如:absolute_base_file = '/tmp/csv_file/test.csv'

    csv_reader = csv.reader(absolute_base_file)

    csv_headings = next(csv_reader)

    print csv_headings

    我得到的回报是:['/']

    已编辑

    CSV文件的权限是:-rw-rw-r--

    应该没问题。在

    再次编辑

    根据建议和@EdChum和@Moses Koledoye的帮助

    我已使用以下方法检查文件是否正确读取:print (os.stat(absolute_base_file).st_size) # returns 64

    然后我试着看看seek(0)和csvfile.read文件(1) 返回单个可打印字符。在print csvfile.seek(0) returns None

    print csvfile.read(1) returns 'c'

    然后我想也许next()函数有一个特殊的问题,于是我尝试了另一种方法:csv_reader = csv.reader(csvfile)

    for row in csv_reader:

    print ("csv_reader")

    这又没用。在

    更多相关内容
  • csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格 ...第一种方法使用reader函数,接收一个可迭代的对象(比如csv文件),能返回一个生成器,就可以从其中解析出csv
  • 今天小编就为大家分享篇使用python读取csv文件快速插入数据库的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 读取csv文件,用的是csv.reader()这个方法。返回结果是个_csv.reader的对象,我们可以对这个对象进行遍历,输出每一行,某一行,或某列。代码如下: 1 import csv 2 with open('data.csv', 'r') as f: 3 reader ...

    在python里面,读取或写入csv文件时,首先要import csv这个库,然后利用这个库提供的方法进行对文件的读写。

    1、获取每一行

    读取csv文件,用的是csv.reader()这个方法。返回结果是一个_csv.reader的对象,我们可以对这个对象进行遍历,输出每一行,某一行,或某一列。代码如下:

    1 import csv
    2 with open('data.csv', 'r') as f:
    3     reader = csv.reader(f)
    4     print(type(reader))
    5    
    6     for row in reader:
    7         print(row)
    

    2、获取某一行

    如果你只想要其中的一行,可以先对reader进行一个类型转换,用list函数把它转换成列表,然后对对列表进行取元素,就可以获取到某一行的内容了,如下:

    1 import csv
    2 with open('data.csv', 'r') as f:
    3     reader = csv.reader(f)
    4     result = list(reader)
    5     print(result[1])
    这里,我们获取的是第二行的内容,与上面的第二行的内容相同。
    

    3、获取某一列

    如果想要获取到其中一列的内容,可以在第一种情况下,对输出加一个下标,这样输出的就是某一列的内容的。

    1 import csv
    2 with open('data.csv', 'r') as f:
    3     reader = csv.reader(f)
    4     for i in reader:
    5         print(i[0])
    
    展开全文
  • Python读取csv文件的某一行

    千次阅读 2021-03-11 13:29:03
    Python读取csv文件的某一行reader函数DictReader 站长用Python写了个可以提取csv任一列的代码,欢迎使用。Github链接 csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格,就...

    Python读取csv文件的某一行

    站长用Python写了一个可以提取csv任一列的代码,欢迎使用。Github链接

    csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格,就可以存储为csv文件,文件内容是:

    No.,Name,Age,Score
    1,Apple,12,98
    2,Ben,13,97
    3,Celia,14,96
    4,Dave,15,95
    

    假设上述csv文件保存为"A.csv",如何用Python像操作Excel一样提取其中的一行,也就是一条记录,利用Python自带的csv模块,有两种方法可以实现。

    reader函数

    第一种方法使用reader函数,接收一个可迭代的对象(比如csv文件),能返回一个生成器,就可以从其中解析出csv的内容,比如下面的代码可以读取csv的全部内容,以行为单位:

    import csv
    
    with open('A.csv','rb') as csvfile:
        reader = csv.reader(csvfile)
        rows = [row for row in reader]
        
    print rows
    

    得到:

    [['No.', 'Name', 'Age', 'Score'],
    ['1', 'Apple', '12', '98'],
    ['2', 'Ben', '13', '97'],
    ['3', 'Celia', '14', '96'],
    ['4', 'Dave', '15', '95']]
    

    如果只要提取其中第三行,可以用下面的代码:

    import csv
    
    with open(‘A.csv’,‘rb’) as csvfile:
        reader = csv.reader(csvfile)
        for i,rows in enumerate(reader):
            if i == 2:
                row = rows
                
    print row 
    

    得到:

    [2, ‘Ben’,13,97]
    

    这种方法是通用的方法,要事先知道行号,比如Ben的记录在第3行,而不能根据’Ben’这个名字查询。

    DictReader

    这时可以采用第二种方法:
    第二种方法是使用DictReader,和reader函数类似,接收一个可迭代的对象,能返回一个生成器,但是返回的每一个单元格都放在一个字典的值内,而这个字典的键则是这个单元格的标题(即列头)。用下面的代码可以看到DictReader的结构:

    import csv
    
    with open(‘A.csv’,‘rb’) as csvfile:
        reader = csv.DictReader(csvfile)
        rows = [row for row in reader]
        
    print rows
    

    得到:

    [{‘Age’:12, ‘No.:1, ‘Score’:98, ‘Name’: ‘Apple’},
    {‘Age’:13, ‘No.:2, ‘Score’:97, ‘Name’: ‘Ben’},
    {‘Age’:14, ‘No.:3, ‘Score’:96, ‘Name’: ‘Celia’},
    {‘Age’:15, ‘No.:4, ‘Score’:95, ‘Name’: ‘Dave’}]
    

    如果我们想用DictReader读取csv的某一列,就可以用列的标题查询:

    import csv
    
    with open(‘A.csv’,‘rb’) as csvfile:
        reader = csv.DictReader(csvfile)
        for row in reader:
            if row[‘Name’]==‘Ben’:
                print row
    

    就得到:

    {‘Age’:13, ‘No.:2, ‘Score’:97, ‘Name’: ‘Ben’}
    

    可见,DictReader很适合读取csv的的行(记录)。

    展开全文
  • my_matrix = numpy.loadtxt(open("1.csv","rb"),delimiter=",",skiprows=0) 写: numpy.savetxt('2.csv', my_matrix, delimiter = ',') 可能遇到的问题: SyntaxError: (unicode error) 'unicodeescape' codec ...
  • python读取CSV文件

    2022-06-22 16:31:10
    1.1 参数 对参数 ,参见:文件读写操作。 1.2.2 读操作 1.2.3 写操作 2. 利用pandas读取 2.1 函数接口 返回值为 dataframe

    1. 文件读取函数

    with open(doc_name, mode, encoding="utf-8") as f:
    	data = f.read() 等读写操作
    

    1.1 参数

    参数:doc_name, 文件路径
    参数: mode,
    	常用模式:
    		1.'r',只读 用read()
    		2.'w', 只写 用write()       # 会清除之前写的内容,若没有,则新建
    		3.'a', 追加内容,用write()    #会在已经写的内容基础上追加新的内容
    	
    参数:encoding,默认"utf-8",
    	注意:要读取非UTF-8编码的文本文件,需要给open()函数传入encoding参数
    

    对参数 mode,参见:文件读写操作

    1.2 file 对象属性

    1.2.1 属性

    file.closed	表示文件已经被关闭,否则为False
     
    file.mode	文件打开时使用的访问模式
    
    file.encoding	文件所使用的编码
    
    file.name	文件名
    
    file.newlines	
    	未读取到行分隔符时为None;
    	只有一种行分隔符时为一个字符串;
    	当文件有多种类型的行结束符时,则为一个包含所有当前所遇到的行结束的列表。
    	
    file.softspace	为0表示在输出一数据后,要加上一个空格符,1表示不加
    

    1.2.2 读操作

    file.read([size])   将文件数据作为字符串返回,可选参数size控制读取的字节数
    			 注意:当读取大文件时,反复调用read(size)方法,每次最多读取size个字节的内容。
    
    file.readline([size])   每次读取一行内容
    file.readlines([size])   返回文件中行内容的列表,size参数可选
    

    1.2.3 写操作

    file.write(str)   将字符串写入文件
    file.writelines(strings)   将字符串序列写入文件
    

    2. 利用pandas读取

    2.1 函数接口

    返回值为 dataframe

    pandas.read_csv(filepath_or_buffer, 			# 文件路径名,字符串类型
    				sep=NoDefault.no_default, 		# 分隔符
    				delimiter=None, 				# 定界符,备选分隔符(如果指定该参数,则sep参数失效) 
    				header='infer', 				# 指定行数用来作为列名,以及数据开始行数
    				names=NoDefault.no_default, 	# 要使用的列名
    				index_col=None, 				# 用作 DataFrame 的行标签的列
    				usecols=None, 					# 返回所有列的子集,即选中的列;	
    				squeeze=None, 					# 如果解析后的数据只包含一列,则返回 Series,默认值为 False
    				prefix=NoDefault.no_default, 	# 在没有列标题时,给列添加前缀。例如:添加‘X’ 成为 X0, X1, ... 
    				mangle_dupe_cols=True, 			# 将重复的列‘X’...’X’表示为‘X.0’...’X.N’。默认为True,如果设定为false则会将所有重名列覆盖
    				dtype=None, 					# 每列数据的数据类型
    				engine=None, 					# 解析引擎
    				converters=None, 				# 用于转换特定列中值的函数的定义。键可以是整数或列标签
    				true_values=None, 				# 列表类型,将其视为真 True
    				false_values=None, 				# 列表类型,将其视为假 False
    				skipinitialspace=False, 		# 忽略分隔符后的空白(默认为False,即不忽略)
    				skiprows=None, 					# 需要忽略的行数
    				skipfooter=0, 					# 从文件尾部开始忽略。 (c引擎不支持) 
    				nrows=None, 					# 需要读取的行数(从文件头开始算起)。
    				na_values=None, 				# 用于替换NA/NaN的值
    				keep_default_na=True, 			# 解析数据时是否包含默认 NaN 值。
    				na_filter=True, 				# 是否检查丢失值(空字符串或者是空值)
    				verbose=False, 					# 是否打印各种解析器的输出信息,例如:“非数值列中缺失值的数量”等。 
    				skip_blank_lines=True, 			# 如果为True,则跳过空行;否则记为NaN。 
    				parse_dates=None, 				# 解析日期
    				infer_datetime_format=False, 	# 如果设定为True并且parse_dates 可用,那么pandas将尝试转换为日期类型
    				keep_date_col=False, 			# 如果连接多列解析日期,则保持参与连接的列。
    				date_parser=None, 				# 于解析日期的函数,默认使用dateutil.parser.parser来做转换。
    				dayfirst=False, 				# DD/MM格式的日期类型
    				cache_dates=True, 				# 如果为 True,则使用惟一的、已转换日期的缓存来应用日期时间转换。
    				iterator=False, 				# 返回一个TextFileReader 对象,以便逐块处理文件。
    				chunksize=None, 				# 文件块的大小
    				compression='infer', 			# 直接使用磁盘上的压缩文件。
    				thousands=None, 				# 千分位分割符
    				decimal='.', 					# 字符中的小数点
    				lineterminator=None, 			# 行分割符,只在C解析器下使用。
    				quotechar='"', 					# 用作标识开始和解释的字符。
    				quoting=0, 						# 控制csv中的引号常量。
    				doublequote=True, 				# 双引号,当单引号已经被定义,并且quoting 参数不是QUOTE_NONE的时候,使用双引号表示引号内的元素作为一个元素使用。
    				escapechar=None, 				# 当quoting 为QUOTE_NONE时,指定一个字符使的不受分隔符限值。
    				comment=None, 					# 标识着多余的行不被解析。如果该字符出现在行首,这一行将被全部忽略。
    				encoding=None, 					# 指定字符集类型,通常指定为'utf-8';指定为Python标准字符编码
    				encoding_errors='strict', 		# 如何对待编码错误
    				dialect=None, 					# 如果没有指定特定的语言,如果sep大于一个字符则忽略。
    				error_bad_lines=None, 			# 如果一行包含太多的列,那么默认不会返回DataFrame ,如果设置成false,那么会将改行剔除(只能在C解析器下使用)。	 
    				warn_bad_lines=None, 			# 如果error_bad_lines =False,并且warn_bad_lines =True 那么所有的“bad lines”将会被输出(只能在C解析器下使用)。 
    				on_bad_lines=None, 				# 指定遇到错误行(字段太多的行)时要做什么。可选参数:‘error’, ‘warn’, ‘skip’
    				delim_whitespace=False, 		# 指定是否使用空格(例如’或’)作为 sep。
    				low_memory=True, 				# 分块加载到内存,再低内存消耗中解析。
    				memory_map=False, 				# 如果使用的文件在内存内,那么直接map文件使用。使用这种方式可以避免文件再次进行IO操作 
    				float_precision=None, 			# 指定 C 引擎应该为浮点值使用哪个转换器
    				storage_options=None)			# 对特定存储连接有意义的额外选项
    

    2.2 重要参数解释

    2.2.1 常用参数

    参数:filepath, 			# 文件路径名,字符串类型
    参数:sep,用于分割csv文件的分隔符;默认值为 ","
    		注意:	1.当 engine="c"时,不能为空;
    				2.当 engine="python"时,可以为空,python会自动探索分隔符;
    				3.当 sep 是长度超过 1 的字符时,会被python视为正则表达式分割,并且忽略数据中的逗号;
    参数:engine,解析引擎
    		可选值:	1. "c",快
    				2. "python",基本功能更完善
    				3. "pyarrow",支持多线程。
    

    2.2.2 列名索引参数

    参数:header, 可选类型:int, list of int, None;默认值 ‘infer’
    		作用:指定行数用来作为列名,以及数据开始行数;
    		注意:	1.默认值 ‘infer’ 是推断列名;
    				2.如果没有传递名称,则默认为与 header = 0 相同,并且从文件的第一行推断出列名称;
    				3.如果显式传递列名称,则行为与 header = None 相同;
    				4.如果 header = 0 则会替换掉原来的列名;
    参数:names,array类型,要使用的列名,即最后结果中的列名;
    参数:index_col, 可选类型:int, str, sequence of int / str,  False, 默认值:None
    		作用:用作 DataFrame 的行标签的列,可以作为字符串名称或列索引给出。
    		注意:	1.如果给定 int/str 序列,则使用 MultiIndex;
    				2.index_col=False 用来强制使pandas不使用第一列作用索引;
    参数:dtype,关于列的字典类型;
    		作用:指定每列数据的数据类型			
    		案例:{‘a’: np.float64, ‘b’: np.int32} 	
    

    2.2.3 内容读取选择(行列)

    参数:usecols,列表类型
    		作用:返回所有列的子集,即选中的列;				
    		注意:	1.若给定了names,则不能使用文件的标题行;
    参数:skiprows,列表类型
    		作用:要跳过的行数;
    		注意:	1.从文件开始处算起,第一行为 0;
    参数: nrows,整型;
    		作用:要读取的行数(从文件头开始算起),用于从大文件中读取一些小样本
    

    2.2.4 缺失值参数

    参数: na_values,scalar, str, list-like, or dict
    		作用: 用于替换NA/NaN的值。如果是字典,则指定对应列空值的替换								
    		默认为解析NaN的顺序为:'',#N/A’, ‘#N/A N/A’, ‘#NA’, ‘-1.#IND’, ‘-1.#QNAN’, ‘-NaN’, ‘-nan’, ‘1.#IND’, ‘1.#QNAN’, ‘<NA>’, ‘N/A’, ‘NA’, ‘NULL’, ‘NaN’, ‘n/a’, ‘nan’, ‘null’.
    参数: keep_default_na,布尔类型,默认值为 True
    		作用:解析数据时是否包含默认 NaN 值;
    		注意:与 na_values 有关;
    		
    参数:na_filter,布尔类型,默认为 True
    		作用:是否检查丢失值(空字符串或者是空值),当为大文件且无缺失值时,可提升读取速度;
    

    2.2.5 大文件参数

    参数:iterator,布尔类型,默认为false 				
    	作用:返回一个TextFileReader 对象,以便逐块处理文件。
    参数:chunksize, int, default None
    	作用: 文件块的大小,一次读取多少行数据
    参数:compression,字符串或字典类型,默认值'infer', 			
    	作用:直接使用磁盘上的压缩文件。
    	如果使用infer参数,则使用 gzip, bz2, zip或者解压文件名中以‘.gz’,.bz2’,.zip, or ‘xz’这些为后缀的文件,否则不解压。
    	如果使用zip,那么ZIP包中必须只包含一个文件。
    	设置为None则不解压。 
    

    2.2.6 日期参数

    3. Python直接读取

    import csv
    
    with open(path_name) as f:
    	f_csv = csv.reader(f)
    	headers = next(f_csv)		# 获取表头
    	for row in f_csv:
    		pass 			# 获取每一行的数据进行操作
    

    3.1 数据类型转换

    column_types = [str, float, str, ..., int]
    with open('file_name.csv') as f:
    	f_csv = csv.reader(f)
    	headers = next(f_csv)		# 获取表头
    	for row in f_csv:
    		row = [convert(value) for convert, value in zip(column_types, row)]
    
    展开全文
  • 文件: stu_info.csv 代码: import csv #导入csv模块 try: file=open('stu_info.csv','r') #打开文件 except FileNotFoundError:... print('文件不存在') ... stus=csv.reader(file) #读取文件内容 for stu...
  • python读取csv文件

    千次阅读 2021-02-15 10:15:25
    读取csv文件,用的是csv.reader()这个方法。返回结果是个_csv.reader的对象,我们可以对这个对象进行遍历,输出每一行,某一行,或某列。代码如下: import csv with open('CK.csv', 'r') as f: reader = csv....
  • 第一:pandas.read_csv读取本地csv文件为数据框形式 data=pd.read_csv('G:\data_operation\python_book\chapter5\\sales.csv') 第二:如果存在日期格式数据,利用pandas.to_datatime()改变类型 data.iloc[:,1]=pd....
  • 把 UTF-8 编码 改成 UTF-8-sig编码即可
  • Python 读取csv的某

    千次阅读 2021-01-30 03:23:03
    利用Python自带的 csv模块 ,有两种方法可以实现提取其中的一行假设CSV文件内容如下:No.,Name,Age,Score1,Apple,12,982,Ben,13,973,Celia,14,964,Dave,15,95用 Excel 打开这个 csv, 看起来是这样的:保存为“A.csv...
  • csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格就可以存储为csv文件文件内容是:No.,Name,Age,Score1,Apple,12,982,Ben,13,973,Celia,14,964,Dave,15,95假设上述csv文件保存...
  • loc只能通过index()和columns(列)索引名来取,不能用数字索引,一般的loc的取可用数字索引,但列名不可用数字索引 df.loc[‘one’,‘a’]#one,a列 df.loc[‘one’:‘two’,‘a’]#one到two,a列 df.loc[...
  • python读取csv文件,并获取某某列的值

    万次阅读 多人点赞 2020-12-01 19:11:31
    python读取csv文件,可以用pandas包来读取,比如 import pandas as pd df = pd.read_csv("filename.csv") print(df) 读取数据后,若要获取某一行列的值, # 获取某一行的值 print(df.iloc[1]) # 获取某列...
  • house_info['price'] 这是读取csv文件时默认的第一行索引 3:取两列 house_info[['price',tradetypename']] 取多个列也是同理的,注意里面是一个list的列表,不然会报错误; 4:增加列: house_Info['adress_new']=...
  • 读取csv文件时如何跳过第一行

    千次阅读 2020-11-26 05:33:29
    小编典典读取csv文件时跳过第一行例如,package mainimport ("bufio""encoding/csv""fmt""io""os")func readSample(rs io.ReadSeeker) ([][]string, error) {// Skip first row (line)row1, err := bufio.NewReader...
  • 【Python】Python读取CSV文件

    千次阅读 2021-03-29 08:32:52
    由于 csv 文件的格式本身比较简单(通常第一行是表头,用于说明每列数据的含义,接下来每代表一数据),因此使用 csv 模块读取 csv 文件也非常简单: 创建 csv 模块的读取器。 循环调用 csv 读取器的 next() ...
  • 前面程序展示的数据都是直接通过程序给出的,但实际应用可能需要展示不同来源(比如文件、网络)、不同格式...csv 文件的每代表一行数据,每数据中每个单元格内的数据以逗号隔开。Python 提供了 csv 模块来...
  • 站长用Python写了个可以提取csv任一列的代码,欢迎使用。Github链接csv是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,比如如下的表格:就可以存储为csv文件文件内容是:No.,Name,Age,Score1...
  • 使用python将提供的csv文件中的内容读到内存,并使用列表来表示。(提示,csv文件的编码是gbk) # 方法1:用列表表示,列表中的每个元素又是个列表 # 例如:[['id', '品种编号', '花瓣长', '花瓣宽', '花萼长', ...
  • python读取csv文件并把文件放入个list中的实例讲解如下所示:#coding=utf8'''读取CSV文件,把csv文件放在份list中。'''import csvclass readCSV(object):def __init__(self,path="Demo.csv"):#创建个属性用来...
  • 前面程序展示的数据都是直接通过程序给出的,但实际应用可能需要展示不同来源(比如文件、网络)、不同格式...csv 文件的每代表一行数据,每数据中每个单元格内的数据以逗号隔开。Python 提供了 csv 模块来...
  • python读取csv文件数据,写入新的文件
  • python读取csv文件并绘图

    万次阅读 多人点赞 2020-08-02 21:50:26
    使用 python csv及matplotlib 读取csv文件并绘图 具体代码 import csv import matplotlib.pyplot as plt exampleFile = open('UCS.csv') # 打开csv文件 exampleReader = csv.reader(exampleFile) # 读取csv文件 ...
  • Python读取CSV文件画折线图

    千次阅读 2022-01-21 10:31:30
    根据CSV文件的数据,画折线图。 首先准备数据如下图: 代码如下 import matplotlib.pyplot as plt import pandas as pd import matplotlib.dates as mdate plt.style.use("seaborn-darkgrid") # 读取数据 ...
  • python读取csv文件的列

    千次阅读 2021-01-30 03:22:57
    我需要做的是:获取“title”列的第一行移除任何西班牙文字符(重音,Ñ)删除单引号最后,用破折号替换空格,并将所有内容转换为小写。我得到这个工作与一个简单的测试文件,而不是一个csv。我还设法在它自己的单独...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 42,071
精华内容 16,828
关键字:

python读取csv文件第一行