python怎么读取csv文件学生名单(python读取csv文件为列表)

http://www.itjxue.com  2023-03-31 01:14  来源:未知  点击次数: 

python怎么读取csv文件

这两天刚好看到,Python CookBook上有说到。这里是三种读取csv的方法。

文件格式是这样的

Region,DATE_,RAW_ACU

zh_ch,Jan 27 2017,208172

import?csv

from?collections?import?namedtuple

?

#?with?open('data.csv')?as?f:

#?????f_csv?=?csv.reader(f)

#?????headers?=?next(f_csv)

#?????for?row?in?f_csv:

#?????????#?print(row)

#?????????print(row[0],?row[1])

?

?

#?with?open('data.csv',?encoding='utf-8-sig')?as?f:

#?????f_csv?=?csv.reader(f)

#?????headers?=?next(f_csv)

#?????print(headers)

#?????Row?=?namedtuple('Row',?headers)

#?????for?r?in?f_csv:

#?????????row?=?Row(*r)

#?????????print(row.Region,?row.DATE_)

?

?

with?open('data.csv',?encoding='utf-8-sig')?as?f:

????f_csv?=?csv.DictReader(f)

????for?row?in?f_csv:

????????print(row['DATE_'],?row)

具体可以看这个文档。。

怎么用python读取csv数据

csv是我接触的比较早的一种文件,比较好的是这种文件既能够以电子表格的形式查看又能够以文本的形式查看。最早接触是在别人的Perl脚本中,或许是为了充分利用Perl的文本处理能力。不过,日常的生活工作中我用到的比较多的倒还是电子表格。

创建一个电子表格如下:

使用Mac中Numbers功能将其导出为csv文件,使用文本查看文件内容如下:

GreydeMac-mini:chapter06 greyzhang$ cat data.csv

index,name,comment,,,,

1,name_01,coment_01,,,,

2,name_02,coment_02,,,,

3,name_03,coment_03,,,,

4,name_04,coment_04,,,,

5,name_05,coment_05,,,,

6,name_06,coment_06,,,,

7,name_07,coment_07,,,,

8,name_08,coment_08,,,,

9,name_09,coment_09,,,,

10,name_10,coment_10,,,,

11,name_11,coment_11,,,,

12,name_12,coment_12,,,,

13,name_13,coment_13,,,,

14,name_14,coment_14,,,,

15,name_15,coment_15,,,,

16,name_16,coment_16,,,,

17,name_17,coment_17,,,,

18,name_18,coment_18,,,,

19,name_19,coment_19,,,,

20,name_20,coment_20,,,,

21,name_21,coment_21,,,,

换用pandas尝试数据文件读取如下:

In [1]:?import?pandas?as?pd

In [2]:?ls

data.csv? ? ? data.numbers

In [3]:?data = pd.read_csv('data.csv')

In [4]:?data

Out[4]:

index ? ? name? ? comment? Unnamed: 3? Unnamed: 4? Unnamed: 5? Unnamed: 6

0 ? ? ? 1? name_01? coment_01 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

1 ? ? ? 2? name_02? coment_02 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

2 ? ? ? 3? name_03? coment_03 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

3 ? ? ? 4? name_04? coment_04 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

4 ? ? ? 5? name_05? coment_05 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

5 ? ? ? 6? name_06? coment_06 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

6 ? ? ? 7? name_07? coment_07 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

7 ? ? ? 8? name_08? coment_08 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

8 ? ? ? 9? name_09? coment_09 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

9? ? ? 10? name_10? coment_10 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

10 ? ? 11? name_11? coment_11 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

11 ? ? 12? name_12? coment_12 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

12 ? ? 13? name_13? coment_13 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

13 ? ? 14? name_14? coment_14 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

14 ? ? 15? name_15? coment_15 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

15 ? ? 16? name_16? coment_16 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

16 ? ? 17? name_17? coment_17 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

17 ? ? 18? name_18? coment_18 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

18 ? ? 19? name_19? coment_19 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

19 ? ? 20? name_20? coment_20 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

20 ? ? 21? name_21? coment_21 ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN ? ? ? ? NaN

查看读取出来的结果,看的出结果被处理成了pandas的DataFrame格式。

In [6]: type(data)

Out[6]:?pandas.core.frame.DataFrame

python 怎么读csv文件

CSV文件本质上就是文本文件,只不过每行的数据用逗号分隔。

所以你当成文本文件打开一行一行的读然后拆分就可以了。

data?=?[]

with?open(r'd:\temp\demo.csv',?'r')?as?csv_file:

????for?line?in?csv_file:

????????data.append(line.strip().split(','))

print(data)

#?另外Python标准库里有个CSV模块可以用。

import?csv

with?open(file_path,?'rb')?as?csv_file:

???data?=?list(csv.reader(csv_file))[1:]??#?去掉首行的列名

还有就是可以用Pandas这个库,dataframe有导入csv功能。

csv文件怎么打开 使用Python读取和写入CSV文件

csv文件本质上是一个文本文件,具体的读取和写入方法有两种:

直接对csv文件进行文件读写操作,每一行是一条记录,按行读取即可,简单代码如下:

with open("XXX.csv","wr") as f:

f.readline()

f.write()

2.使用第三方库中的csv文件读写函数(本质上还是使用python的文件读写方法),如科学计算包pandas包中就有read_csv() to_csv()等函数,其他的一些第三方包里也有,可以自行查询。

两种方法各有优劣,第一种方法的优点就是可控性强,但是代码相对较多,对于python2编码处理很麻烦;第二种方法的优点是代码量小,调用方便,处理编码问题相对容易(在函数中加一个encoding参数即可),但是代码内部比较复杂,可控性较差

如何用python 读写 csv

csv文件就是按逗号分隔的文本, 可以用python自带的读取文本的方式, 不过我推荐用pandas包, 读写都很方便

#?coding=utf-8

#?传统方式

#?读

f1?=?open('1.csv',?'r').readlines()

result?=?map(lambda?x:?x.strip().split(','),?f)

#?写

f2?=?open('1.csv',?'w')

f2.write('what?you?want?to?write')

#?pandas方法

import?pandas?as?pd

#?读

result?=?pd.read_csv('1.csv')??#?result被转化为DataFrame对象

#?写

#?写的时候可以操作result这个DataFrame对象,?类似excel的表格,?十分方便

result[0,?0]=1

result.to_csv('2.csv')??#?将修改后的DataFrame保存为一个新的csv或者你想替换1.csv也可以

粗略介绍了一点, 如果有不懂的, 请追问.

(责任编辑:IT教学网)

更多

推荐CGI/Perl教程文章