读取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
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()遇到读进来乱码问题 1.设置encoding=’gbk’或者encoding=’utf-8’。pandas.read_csv(‘data.csv’,encoding=’gbk’) 2.如果设置encoding直接报错的话 解决方法是:用记事本打开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的缺失值处理方式,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
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...
read_csv是pandas中专门用于csv文件读取的功能,不过这并不是唯一的处理方式。pandas中还有读取表格的通用函数read_table。 接下来使用read_table功能作一下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, ...
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\...