pandas读取文件的read_csv()

import pandas as pd
pd.read_csv(filepath_or_buffer,header,parse_dates,index_col)
参数:
filepath_or_buffer:
字符串,或者任何对象的read()方法。这个字符串可以是URL,有效的URL方案包括http、ftp、s3和文件。可以直接写入"文件名.csv"

header:
将行号用作列名,且是数据的开头。
注意当skip_blank_lines=True时,这个参数忽略注释行和空行。所以header=0表示第一行是数据而不是文件的第一行。

【注】:如果csv文件中含有中文,该如何?
1、可修改csv文件的编码格式为unix(不能是windows)(用notepad++打开修改)
2、df = pd.read_csv(csv_file, encoding="utf-8"),设置读取时的编码或 encoding="gbk"
3、在使用列名来访问DataFrame里面的数据时,对于中文列名,应该在列名前面加'u',表示后面跟的字符串以unicode格式存储,如下所示
print(df[u"经度(度)"])

(1)、header=None
即指定原始文件数据没有列索引,这样read_csv为其自动加上列索引{从0开始}
ceshi.csv原文件内容:
c1,c2,c3,c4
a,0,5,10
b,1,6,11
c,2,7,12
d,3,8,13
e,4,9,14

df=pd.read_csv("ceshi.csv",header=None)
print(df)
结果:
    0   1   2   3
0  c1  c2  c3  c4
1   a   0   5  10
2   b   1   6  11
3   c   2   7  12
4   d   3   8  13
5   e   4   9  14

(2)、header=None,并指定新的索引的名字names=seq序列
df=pd.read_csv("ceshi.csv",header=None,names=range(2,6))
print(df)
结果:
    2   3   4   5
0  c1  c2  c3  c4
1   a   0   5  10
2   b   1   6  11
3   c   2   7  12
4   d   3   8  13
5   e   4   9  14


(3)、header=None,并指定新的索引的名字names=seq序列;如果指定的新的索引名字的序列比原csv文件的列数少,那么就截取原csv文件的倒数列添加上新的索引名字
df=pd.read_csv("ceshi.csv",header=0,names=range(2,4))
print(df)
结果:
        2   3
c1 c2  c3  c4
a  0    5  10
b  1    6  11
c  2    7  12
d  3    8  13
e  4    9  14


(4)、header=0
表示文件第0行(即第一行,索引从0开始)为列索引
df=pd.read_csv("ceshi.csv",header=0)
print(df)
结果:
  c1  c2  c3  c4
0  a   0   5  10
1  b   1   6  11
2  c   2   7  12
3  d   3   8  13
4  e   4   9  14

(5)、header=0,并指定新的索引的名字names=seq序列
df=pd.read_csv("ceshi.csv",header=0,names=range(2,6))
print(df)
结果:
   2  3  4   5
0  a  0  5  10
1  b  1  6  11
2  c  2  7  12
3  d  3  8  13
4  e  4  9  14
注:这里是把原csv文件的第一行换成了range(2,6)并将此作为列索引

(6)、header=0,并指定新的索引的名字names=seq序列;如果指定的新的索引名字的序列比原csv文件的列数少,那么就截取原csv文件的倒数列添加上新的索引名字
df=pd.read_csv("ceshi.csv",header=0,names=range(2,4))
print(df)
结果:
     2   3
a 0  5  10
b 1  6  11
c 2  7  12
d 3  8  13
e 4  9  14


parse_dates:
布尔类型值 or int类型值的列表 or 列表的列表 or 字典(默认值为 FALSE)
(1)True:尝试解析索引
(2)由int类型值组成的列表(如[1,2,3]):作为单独数据列,分别解析原始文件中的1,2,3列
(3)由列表组成的列表(如[[1,3]]):将1,3列合并,作为一个单列进行解析
(4)字典(如{'foo':[1, 3]}):解析1,3列作为数据,并命名为foo


index_col:
int类型值,序列,FALSE(默认 None)
将真实的某列当做index(列的数目,甚至列名)
index_col为指定数据中那一列作为Dataframe的行索引,也可以可指定多列,形成层次索引,默认为None,即不指定行索引,这样系统会自动加上行索引。

举例:
df=pd.read_csv("ceshi.csv",index_col=0)
print(df)
结果:
    c2  c3  c4
c1            
a    0   5  10
b    1   6  11
c    2   7  12
d    3   8  13
e    4   9  14
表示:将第一列作为索引index

df=pd.read_csv("ceshi.csv",index_col=1)
print(df)
结果:
   c1  c3  c4
c2           
0   a   5  10
1   b   6  11
2   c   7  12
3   d   8  13
4   e   9  14
表示:将第二列作为索引index


df=pd.read_csv("ceshi.csv",index_col="c1")
print(df)
结果:
    c2  c3  c4
c1            
a    0   5  10
b    1   6  11
c    2   7  12
d    3   8  13
e    4   9  14
表示:将列名"c1"这里一列作为索引index
【注】:这里将"c1"这一列作为索引即行索引后,"c1"这列即不在属于列名这类,即不能使用df['c1']获取列值
【注】:read_csv()方法中header参数和index_col参数不能混用,因为header指定列索引,index_col指定行索引,一个DataFrame对象只有一种索引

squeeze:
布尔值,默认FALSE
TRUE 如果被解析的数据只有一列,那么返回Series类型。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,458评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,454评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,171评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,062评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,440评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,661评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,906评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,609评论 0 200
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,379评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,600评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,085评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,409评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,072评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,088评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,860评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,704评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,608评论 2 270