python的panda库读写文件

目录

1.读取excel文件

(1)语法

(2)实例

2.读取cvs文件

(1)语法

(2)实例

3.读取txt文件

(1)语法

(2)实例

4.写入文件

(1)语法

(2)实例


1.读取excel文件

(1)语法

import pandas  as pd
data = pd.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)

常用参数说明

io:读取的excel文件名,如r'./vote.excel'。

sheet_name: excel文件中的sheet表名。

header: 哪一行设置为列索引,默认是第一行,即header = 0。

names: 列索引名。

index_col: 使用哪一列作为行索引,默认从0开始。

usecols: 读取表格中哪几列,必须是位置索引。

skiprows: 跳过前几行读取文件,默认从0开始。

nrows: 读取多少行数据。

(2)实例

读取文件中的分类sheet的指定列的六行数据。

import pandas as pd
data  = pd.read_excel(r'.\data\sep_word - 1.0.xlsx',sheet_name= '分类',header= 0,nrows=6,usecols=[0,1,3,5])
data

输出结果为

python的panda库读写文件_第1张图片

 解释:usecols=[0,1,3,5]是指第1,2,4,6列。


2.读取cvs文件

(1)语法

import pandas  as pd
data = pd.read_cvs(filepath_or_buffer: FilePathOrBuffer,
    sep=",",
    delimiter=None,
    # Column and Index Locations and Names
    header="infer",
    names=None,
    index_col=None,
    usecols=None,
    squeeze=False,
    prefix=None,
    mangle_dupe_cols=True,
    # General Parsing Configuration
    dtype=None,
    engine=None,
    converters=None,
    true_values=None,
    false_values=None,
    skipinitialspace=False,
    skiprows=None,
    skipfooter=0,
    nrows=None,
    # NA and Missing Data Handling
    na_values=None,
    keep_default_na=True,
    na_filter=True,
    verbose=False,
    skip_blank_lines=True,
    # Datetime Handling
    parse_dates=False,
    infer_datetime_format=False,
    keep_date_col=False,
    date_parser=None,
    dayfirst=False,
    cache_dates=True,
    # Iteration
    iterator=False,
    chunksize=None,
    # Quoting, Compression, and File Format
    compression="infer",
    thousands=None,
    decimal: str = ".",
    lineterminator=None,
    quotechar='"',
    quoting=csv.QUOTE_MINIMAL,
    doublequote=True,
    escapechar=None,
    comment=None,
    encoding=None,
    dialect=None,
    # Error Handling
    error_bad_lines=True,
    warn_bad_lines=True,
    # Internal
    delim_whitespace=False,
    low_memory=_c_parser_defaults["low_memory"],
    memory_map=False,
    float_precision=None)

参数说明:

csv文件是以逗号为分隔符的文件,读取参数与excel基本类似,文件为gbk格式的csv,若不设置encoding参数,会报错。

encoding:默认为'utf-8',还有中文编码‘gbk’、‘gb18030’、‘gb2312’。

就我们关心的汉字而言,三种编码方式的表示范围是:
GB18030 > GBK > GB2312
即GBK是GB2312的超集,GB1803又是GBK的超集。
一般读取中文文本可以直接用encoding =GB18030

(2)实例

直接读取不设置编码方式,储存方式可能存在gbk格式,中文会乱码。

import pandas as pd
data = pd.read_csv(r'.\python\python数据分析\word.csv')
data

输出结果为:

python的panda库读写文件_第2张图片

一般用encoding= 'utf-8'可以解决很多编码乱码问题,但是还是报错。

显示:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc0 in position 37: invalid start byte

python的panda库读写文件_第3张图片

 可能是因为中文储存的时候是gbk格式,utf-8还是识别不了一些编码,所以可以尝试用gbk,需要设置编码方式encoding='gbk'。

import pandas as pd
data = pd.read_csv(r'.\python\python数据分析\word.csv',encoding='gbk')
data

 输出结果为:

python的panda库读写文件_第4张图片

只想查看前10行数据用head函数。

data.head(10) #查看前十行数据

python的panda库读写文件_第5张图片

data.head()  #默认显示前5行数据

python的panda库读写文件_第6张图片


3.读取txt文件

(1)语法

import pandas  as pd
data = pd.read_table(filepath_or_buffer: FilePathOrBuffer,
    sep="\t",
    delimiter=None,
    # Column and Index Locations and Names
    header="infer",
    names=None,
    index_col=None,
    usecols=None,
    squeeze=False,
    prefix=None,
    mangle_dupe_cols=True,
    # General Parsing Configuration
    dtype=None,
    engine=None,
    converters=None,
    true_values=None,
    false_values=None,
    skipinitialspace=False,
    skiprows=None,
    skipfooter=0,
    nrows=None,
    # NA and Missing Data Handling
    na_values=None,
    keep_default_na=True,
    na_filter=True,
    verbose=False,
    skip_blank_lines=True,
    # Datetime Handling
    parse_dates=False,
    infer_datetime_format=False,
    keep_date_col=False,
    date_parser=None,
    dayfirst=False,
    cache_dates=True,
    # Iteration
    iterator=False,
    chunksize=None,
    # Quoting, Compression, and File Format
    compression="infer",
    thousands=None,
    decimal: str = ".",
    lineterminator=None,
    quotechar='"',
    quoting=csv.QUOTE_MINIMAL,
    doublequote=True,
    escapechar=None,
    comment=None,
    encoding=None,
    dialect=None,
    # Error Handling
    error_bad_lines=True,
    warn_bad_lines=True,
    # Internal
    delim_whitespace=False,
    low_memory=_c_parser_defaults["low_memory"],
    memory_map=False,
    float_precision=None)

参数说明:

txt文件是以指制表符\t为分隔符的文件,参数与excel、csv基本类似,不同的地方在于必须要指定sep。

sep:默认为'\t'。

(2)实例

读取竞选文档。

data = pd.read_table(r'.\python\python数据分析\智能空调项目\python_study\vote.txt')
data

输出结果为:

python的panda库读写文件_第7张图片


4.写入文件

excel,csv,txt写入文件的方式基本类似,以pandas的to_xx()方式写入。

(1)语法

#写入excel文件
to_excel(
        self,
        excel_writer,
        sheet_name="Sheet1",
        na_rep="",
        float_format=None,
        columns=None,
        header=True,
        index=True,
        index_label=None,
        startrow=0,
        startcol=0,
        engine=None,
        merge_cells=True,
        encoding=None,
        inf_rep="inf",
        verbose=True,
        freeze_panes=None
    ) 

 常用参数说明:

index: 是否保留行索引,默认是True保留,False表示不保留。

columns: 通过列索引指定所需列。

sheet_name: 表名,默认为‘sheet1’。

encoding:编码格式,utf-8或者gbk。

na_rep: 缺失值填充,可指定为0。

index_label: 行索引标签。

header: 默认为True,False没有列索引,如需更改列名,则header = ["列1","列2","列3"]

(2)实例

将txt文档写为xlsx文件。

import pandas as pd #导入pandas库
#读入txt文档
data = pd.read_table(r'.\python\python数据分析\智能空调项目\python_study\vote.txt',sep='\t')
#写入excel文档
data.to_excel(r'./vote.xlsx',sheet_name='vote',na_rep='')

参考文章:

python学习之路--pandas读写文件 - 知乎 (zhihu.com)

你可能感兴趣的:(python数据分析,python,开发语言,经验分享,其他,pandas)