python怎么读取csv文件学生名单(python读取csv文件为列表)
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也可以
粗略介绍了一点, 如果有不懂的, 请追问.