300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 05pandas读取excel csv txt文件

05pandas读取excel csv txt文件

时间:2021-11-07 18:59:17

相关推荐

05pandas读取excel csv txt文件

pandas丨数据读取与保存

读取excel文件: pandas.read_excel()保存excel文件: pandas.to_excel()

pandas.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None,

squeeze=False, dtype=None, engine=None, converters=None, true_values=None,

false_values=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True,

verbose=False, parse_dates=False, date_parser=None, thousands=None, comment=None,

skip_footer=0, skipfooter=0, convert_float=True, mangle_dupe_cols=True, **kwds)

#查看帮助文件import pandas as pdhelp(pd.read_excel)

Help on function read_excel in module pandas.io.excel._base:read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None, squeeze=False, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, parse_dates=False, date_parser=None, thousands=None, comment=None, skipfooter=0, convert_float=True, mangle_dupe_cols=True)Read an Excel file into a pandas DataFrame.Supports `xls`, `xlsx`, `xlsm`, `xlsb`, `odf`, `ods` and `odt` file extensionsread from a local filesystem or URL. Supports an option to reada single sheet or a list of sheets.

常用参数: io:excel的路径,选中文件,鼠标右键,在"属性"中找到文件位置,再补充上文件名称,则为完整路径。注意反斜杠方向 ★★★★★sheet_name:工作表的名称。当不输入时,默认读取第一个工作表 不常用参数 index_col :指定某一列为索引。index_col=1names :列名称,传入list数据header: 指定行作为列名,默认为第1行。header=[1,2]多级索引usecols: 读取指定列。usecols = [“A”,“B”]skiprows: 忽略前几行

pd.read_excel()常用参数

io

要读取文件所在的位置

字符串注意 \ 和 / 的区别

# 读取文件# 导入pandas工具包import pandas as pd

# 方式1 ★★★data1 = pd.read_excel('C:/Users/yyz/Desktop/python数据分析基础/data/泰坦尼克数据.xlsx')data1.head()

data2 = pd.read_excel('C:\\Users\\yyz\\Desktop\\python数据分析基础\\data\\泰坦尼克数据.xlsx')

data3 = pd.read_excel(r'C:\Users\yyz\Desktop\python数据分析基础\data\泰坦尼克数据.xlsx')

data3.head()

# 方式2 ★★★# 导入os工具包import os# 设置默认路径,当读取此文件夹下的文件时,直接输入文件名称就可以os.chdir('C:/Users/yyz/Desktop/python数据分析基础/data/')

data4 = pd.read_excel('泰坦尼克数据.xlsx')

data4.head()

sheet_name

读取的工作表,可以是工作表名称, 也可以是工作表所在的位置,0 表示第1个.

格式: 整数或者是字符串

# 方式1 ★★★data5 = pd.read_excel('泰坦尼克数据.xlsx',sheet_name='Sheet1')data5.head()

# 方式2data6 = pd.read_excel('泰坦尼克数据.xlsx',sheet_name=1)data6.head()

pd.read_excel()不常用参数

index_col

指定哪一列为索引, 默认不设置

格式:字符串或者字符串构成的列表

data7 = pd.read_excel('泰坦尼克数据.xlsx',index_col='乘客ID')data7

891 rows × 11 columns

names

指定列名

格式: 列表

data8 = pd.read_excel('泰坦尼克数据.xlsx',names=['变量1','变量2','变量3','变量4','变量5','变量6','变量7','变量8','变量9','变量10','变量11','变量12'])

data8.head()

# 更改列名一般用DataFrame中columns属性★★★data8.columns = ['乘客ID', '是否存活', '票类', '姓名', '性别', '年龄', '乘客兄弟姐妹个数','乘客父母/孩子的个数', '票号','票价', '仓位', '登船港口']

data8.head()

usecols

选择要读取的列

格式: 列表

data7 = pd.read_excel('泰坦尼克数据.xlsx',usecols=['姓名','性别','年龄'])data7.head()

# 方式二★★★data8 = pd.read_excel('泰坦尼克数据.xlsx')[['姓名','性别','年龄']] # 注意是两个中括号data8.head()

header

设置列名所在的行

格式: 整数或者 None

data9 = pd.read_excel('泰坦尼克数据.xlsx',header=1)data9.head()

data10 = pd.read_excel('泰坦尼克数据.xlsx',header=None)data10.head()

skiprows

忽略前几行:当前几行为空行或者其他不需要读取的数据时使用

data11 = pd.read_excel(r'C:\Users\yyz\Desktop\python数据分析基础\data\泰坦尼克数据.xlsx',skiprows=1)data11.head()

pd.to_excel()常用参数

# 导入pandas工具包,并简写为pdimport pandas as pd# 读取数据data1 = pd.read_excel('C:/Users/yyz/Desktop/python数据分析基础/data/泰坦尼克数据.xlsx')

data1.head()

data1.info()

<class 'pandas.core.frame.DataFrame'>RangeIndex: 891 entries, 0 to 890Data columns (total 12 columns):# ColumnNon-Null Count Dtype --- -------------------- ----- 0 乘客ID 891 non-null int64 1 是否存活 891 non-null int64 2 票类891 non-null int64 3 姓名891 non-null object 4 性别891 non-null object 5 年龄714 non-null float646 乘客兄弟姐妹个数 891 non-null int64 7 乘客父母/孩子的个数 891 non-null int64 8 票号891 non-null object 9 票价891 non-null float6410 仓位204 non-null object 11 登船港口 889 non-null object dtypes: float64(2), int64(5), object(5)memory usage: 83.7+ KB

# 数据透视表1:按照性别、登录港口统计人数result1 = data1.pivot_table('姓名',# 需要计算统计量的变量(字段)index='性别', # 行变量,当需要输入多个时 用列表形式 ['','']columns='登船港口', # 列变量,当需要输入多个时 用列表形式 ['','']aggfunc='count', # 需要计算的统计量,'sum','mean','max'等margins=True) # 是否显示合计# 数据透视表2:按照性别、票类统计人数result2 = data1.pivot_table('姓名',index='性别',columns='票类',aggfunc='count',margins=True) # 是否显示合计

result1.head()

result2

# 最常用写法result1.to_excel('C:/Users/yyz/Desktop/保存数据1.xlsx')

# 当索引为数值序列,不期望导出的时候设置index=Falseresult2.to_excel('C:/Users/yyz/Desktop/保存数据2.xlsx',index=False)

result2.to_excel('C:/Users/yyz/Desktop/保存数据3.xlsx',sheet_name='汇总')

with pd.ExcelWriter('C:/Users/yyz/Desktop/保存数据4.xlsx') as writer:result1.to_excel(writer,sheet_name='第1个表')result2.to_excel(writer,sheet_name='第2个表')

pandas丨读取csv、txt文件

当数据量比较大时, 一般会存储为csv或者txt格式文件;读取方法:pandas.read_csv(), 括号内参数如下:

pandas.read_csv(filepath_or_buffer: Union[str, pathlib.Path, IO[~AnyStr]], sep=’,’, delimiter=None,

header=‘infer’, names=None, index_col=None, usecols=None, squeeze=False, prefix=None,

mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None,

false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None,

na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True,

parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None,

dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression=‘infer’,

thousands=None, decimal=b’.’, lineterminator=None, quotechar=’"’, quoting=0, doublequote=True,

escapechar=None, comment=None, encoding=None, dialect=None, error_bad_lines=True,

warn_bad_lines=True, delim_whitespace=False, low_memory=True, memory_map=False,

float_precision=None)

常用参数: filepath_or_buffer :文件路径 ,和读取excel中io参数一样sep :分隔符,默认逗号,其他特殊符号: ※ 回车: \r,换行: \n,制表符: \t,空白字符: \s多个空白字符: \s+ encoding :一般utf-8 或者 gbk 其他参数和pd.read_excel()参数类似

# 查看帮助文档import pandas as pdhelp(pd.read_csv)

Help on function read_csv in module pandas.io.parsers:read_csv(filepath_or_buffer: Union[str, pathlib.Path, IO[~AnyStr]], sep=',', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, skipfooter=0, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, cache_dates=True, iterator=False, chunksize=None, compression='infer', thousands=None, decimal: str = '.', lineterminator=None, quotechar='"', quoting=0, doublequote=True, escapechar=None, comment=None, encoding=None, dialect=None, error_bad_lines=True, warn_bad_lines=True, delim_whitespace=False, low_memory=True, memory_map=False, float_precision=None)

# 读取csv格式文件data1 = pd.read_csv('C:/Users/yyz/Desktop/python数据分析基础/data/titanic_train.csv')data1.head()

# 读取txt格式文件:sep参数data2 = pd.read_csv('C:/Users/yyz/Desktop/python数据分析基础/data/titanic_train.txt',sep='\t') # 不输入sep参数则无法准确读取data2.head()

data2.sample(10).to_csv('C:/Users/yyz/Desktop/导出txt文件.txt',sep=':')

提升代码速度小技巧

微软拼音:设置→常规→开启“中文输入时使用英文标点”搜狗拼音:设置→常用→开启“中文时使用英文标点”

扫码关注微信, 赠送《pandas数据读取与清洗》视频及课程代码!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。