pandas之read_csv
程序员文章站
2022-05-31 23:26:58
...
读取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行被丢弃。详情看列子:
csv中第0行为列名,数据从第1行开始,有列名时设置header=0与不设置此参数结果一样。
header=1表示csv中第1行为列名,第0行被丢弃,数据从第2行开始。
header=None表示没有列名,数据从0行开始,pandas自动赋列名0,1,2,3,4
header=[0,2]表示csv的第0行、第2行都是列名,第1行数据被丢弃,数据从第3行开始。
names : array-like, default None
用于结果的列名列表,如果数据文件中没有列标题行,就需要执行header=None。通过设置names给数据设置列名。
不设置header参数时,设置了names,则任务csv中没有列名,会将第0行当做数据处理,如下例子:
encoding : str, default None
指定字符集类型,通常指定为'utf-8',当csv中存在中文时,如果设置utf-8报错,可以试试gbk。
read_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的参数还有很多,常用的是上面这些,后续用到了其他参数再记录
上一篇: HTTP、HTTPS、HTTP1.0、HTTP1.1傻傻搞不清
下一篇: Python之生成器