`

pandas之read_csv

阅读更多
读取csv文件
df = pd.read_csv('/Users/apple/Desktop/zhanglutest/ts.csv',sep=';',encoding='gbk')
read_csv函数有很多参数,本人只了解了主要的参数,记录如下:
filepath_or_buffer :str,csv文件的存放路径
sep : str, 默认为‘,’。分隔符,例如读取的csv文件的分隔符是分号,则设置sep=';'
delimiter : str, default None。定界符,备选分隔符(如果指定该参数,则sep参数失效)
delim_whitespace : boolean, default False。指定空格是否作为分隔符使用,等效于设定sep='\s+'。如果这个参数设定为Ture那么delimiter 参数失效。在新版本0.18.1支持。
header : int or list of ints, default ‘infer’。指定哪一行是列名,当csv中第一行是列名时,设置header=0,当csv中不存在列名时,设置header=None,如果设置header=[0,3],那么表示第0行和第2行数据是列名,则行索引从第3行开始计算,第1行被丢弃。详情看列子:
df = pd.read_csv('/Users/apple/Desktop/zhanglutest/ts.csv',sep=';',encoding='gbk')
      name   age     sex   address  company
0  zhangsan  20.0    male  chengnan   xiaomi
1      lisi  22.0  female     深圳宝安区  kingdee
2     hello  12.0    male     深圳南山区       sf
3      ayry  18.0  female     广州白云区   pingan
4       srf  25.0     NaN     广州白云区       呵呵
5     ar6uu   NaN    male     北京海淀区      NaN


df = pd.read_csv('/Users/apple/Desktop/zhanglutest/ts.csv',sep=';',header=0,encoding='gbk')
      name   age     sex   address  company
0  zhangsan  20.0    male  chengnan   xiaomi
1      lisi  22.0  female     深圳宝安区  kingdee
2     hello  12.0    male     深圳南山区       sf
3      ayry  18.0  female     广州白云区   pingan
4       srf  25.0     NaN     广州白云区       呵呵
5     ar6uu   NaN    male     北京海淀区      NaN

        csv中第0行为列名,数据从第1行开始,有列名时设置header=0与不设置此参数结果一样。

df = pd.read_csv('/Users/apple/Desktop/zhanglutest/ts.csv',sep=';',header=1,encoding='gbk')
    zhangsan  20.0    male  chengnan   xiaomi
0      lisi  22.0  female     深圳宝安区  kingdee
1     hello  12.0    male     深圳南山区       sf
2      ayry  18.0  female     广州白云区   pingan
3       srf  25.0     NaN     广州白云区       呵呵
4     ar6uu   NaN    male     北京海淀区      NaN

       header=1表示csv中第1行为列名,第0行被丢弃,数据从第2行开始。

df = pd.read_csv('/Users/apple/Desktop/zhanglutest/ts.csv',sep=';',header=None,encoding='gbk')
          0    1       2         3        4
0      name  age     sex   address  company
1  zhangsan   20    male  chengnan   xiaomi
2      lisi   22  female     深圳宝安区  kinked
3     hello   12    male     深圳南山区       sf
4      ayry   18  female     广州白云区   pingan
5       srf   25     NaN     广州白云区       呵呵
6     ar6uu  NaN    male     北京海淀区      NaN

       header=None表示没有列名,数据从0行开始,pandas自动赋列名0,1,2,3,4

df = pd.read_csv('/Users/apple/Desktop/zhanglutest/ts.csv',sep=';',header=[0,2],encoding='gbk')
    name   age     sex address company
    lisi    22  female   深圳宝安区 kingdee
0  hello  12.0    male   深圳南山区      sf
1   ayry  18.0  female   广州白云区  pingan
2    srf  25.0     NaN   广州白云区      呵呵
3  ar6uu   NaN    male   北京海淀区     NaN

       header=[0,2]表示csv的第0行、第2行都是列名,第1行数据被丢弃,数据从第3行开始。

names : array-like, default None
用于结果的列名列表,如果数据文件中没有列标题行,就需要执行header=None。通过设置names给数据设置列名。
df = pd.read_csv('/Users/apple/Desktop/zhanglutest/ts.csv',sep=';',header=None,names=['h1','h2','h3','h4','h5'],encoding='gbk')
         h1   h2      h3        h4       h5
0      name  age     sex   address  company
1  zhangsan   20    male  chengnan   xiaomi
2      lisi   22  female     深圳宝安区  kingdee
3     hello   12    male     深圳南山区       sf
4      ayry   18  female     广州白云区   pingan
5       srf   25     NaN     广州白云区       呵呵
6     ar6uu  NaN    male     北京海淀区      NaN

        不设置header参数时,设置了names,则任务csv中没有列名,会将第0行当做数据处理,如下例子:
df = pd.read_csv('/Users/apple/Desktop/zhanglutest/ts.csv',sep=';',names=['h1','h2','h3','h4','h5'],encoding='gbk')
         h1   h2      h3        h4       h5
0      name  age     sex   address  company
1  zhangsan   20    male  chengnan   xiaomi
2      lisi   22  female     深圳宝安区  kingdee
3     hello   12    male     深圳南山区       sf
4      ayry   18  female     广州白云区   pingan
5       srf   25     NaN     广州白云区       呵呵
6     ar6uu  NaN    male     北京海淀区      NaN


encoding : str, default None
指定字符集类型,通常指定为'utf-8',当csv中存在中文时,如果设置utf-8报错,可以试试gbk。
        read_csv的参数还有很多,常用的是上面这些,后续用到了其他参数再记录
分享到:
评论

相关推荐

    23.pandas_read_csv.ipynb

    23.pandas_read_csv.ipynb

    Pandas之read_csv()读取文件跳过报错行的解决

    pandas.read_csv(filePath) 方法来读取csv文件时,可能会出现这种错误: ParserError:Error tokenizing data.C error:Expected 2 fields in line 407,saw 3. 是指在csv文件的第407行数据,期待2个字段,但在第407...

    快速解决pandas.read_csv()乱码的问题

    pandas.read_csv()遇到读进来乱码问题 1.设置encoding=’gbk’或者encoding=’utf-8’。pandas.read_csv(‘data.csv’,encoding=’gbk’) 2.如果设置encoding直接报错的话 解决方法是:用记事本打开csv文件,另存为...

    pandas.read_csv参数详解(小结)

    主要介绍了pandas.read_csv参数详解(小结),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    解决pandas使用read_csv()读取文件遇到的问题

    如下: 数据文件: 上海机场 (sh600009) 24.11 3.58 ...在使用read_csv() API读取CSV文件时求取某一列数据比较大小时, df=pd.read_csv(output_file,encoding='gb2312',names=['a','b','c']) df

    pandas中read_csv的缺失值处理方式

    今天小编就为大家分享一篇pandas中read_csv的缺失值处理方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    pandas中read_csv、rolling、expanding用法详解

    series = pd.read_csv('daily-min-temperatures.csv',header=0, index_col=0, parse_dates=True,squeeze=True) temps = DataFrame(series.values) width = 3 shifted = temps.shift(width-1) print(shifted) window...

    使用pandas read_table读取csv文件的方法

    read_csv是pandas中专门用于csv文件读取的功能,不过这并不是唯一的处理方式。pandas中还有读取表格的通用函数read_table。 接下来使用read_table功能作一下csv文件的读取尝试,使用此功能的时候需要指定文件中的...

    Pandas的read_csv函数参数分析详解

    复制代码 代码如下:pd.read_csv(filepath_or_buffer, sep=’,’, delimiter=None, header=’infer’, names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, ...

    解决pandas read_csv 读取中文列标题文件报错的问题

    data = pd.read_csv(path) Traceback (most recent call last): File "C:/Users/arron/PycharmProjects/ML/ML/test.py", line 45, in data = pd.read_csv(path) File "C:\Users\arron\AppData\Local\Continuum\...

Global site tag (gtag.js) - Google Analytics