首页 > 编程语言 >python pandas库总结-数据分析和操作工具

python pandas库总结-数据分析和操作工具

时间:2023-02-13 22:44:30浏览次数:81  
标签:数据分析 xlsx None sheet name python excel pandas

参考:https://pandas.pydata.org/

Input/output相关函数

pandas.read_excel—将Excel文件读入pandas数据框

支持读取xls, xlsx, xlsm, xlsb, odf, ods和odt文件扩展名,支持单个sheet或sheet列表

语法格式

pandas.read_excel(iosheet_name=0*header=0names=Noneindex_col=Noneusecols=Nonesqueeze=Nonedtype=Noneengine=Noneconverters=Nonetrue_values=Nonefalse_values=Noneskiprows=Nonenrows=Nonena_values=Nonekeep_default_na=Truena_filter=Trueverbose=Falseparse_dates=Falsedate_parser=Nonethousands=Nonedecimal='.'comment=Noneskipfooter=0convert_float=Nonemangle_dupe_cols=Truestorage_options=None)

常用的几个参数解释:

  • io: 文件路径,也可以是URL。
  • sheet_name: 接受字符串、整数、列表、None。默认为0,代表加载第一个sheet;输入"sheet1"加载名字为"sheet1"的表;[1, 2, "sheet3"]表示加载第1、2个和名字为"sheet3"的sheet;None表示加载所有。
  • header: 接受整数及整数列表。默认为0,表示第一行作为列标签。[1, 3]则表示第2和4行被组合为列标签。如果没有列标签则使用None
  • names: 作用是给数据框添加列名。默认为None
  • usecols: 接受str, list-like, or callable。默认为None,表示解析所有列;"A,C,D:F"表示解析A,C,D,E,F列;[1,2,4]表示解析第2,3和5列;["name", "age"]表示解析列名为name, age的列。
  • index_col: 接受整数及整数列表,添加行标签。默认为None,表示无行标签。[1, 3]则表示第2和4列被组合为行标签。
  • comment: 接受字符,默认为None。注释字符串和当前行结束之间的任何数据都将被忽略。

代码示例

准备如下图所示的test.xlsx文件

编写脚本

import pandas as pd
df = pd.read_excel("./input/test.xlsx", sheet_name="Sheet2")
print(df, "\n")

df1 = pd.read_excel(open("./input/test.xlsx", "rb"), sheet_name="Sheet2")
print(df1, "\n")

df2 = pd.read_excel("./input/test.xlsx", sheet_name="Sheet2", usecols="A:B") #usecols="A:B"等同于usecols="A,B"等同于usecols=[0,1],但usecol不能写成[0:1],会报错 
print(df2, "\n")

df3 = pd.read_excel("./input/test.xlsx", sheet_name="Sheet2", usecols=[0,1], names=["index","Value"])
print(df3)

输出结果

   Bacode  Value1   Value2
0  ATCC-1       5   B cell
1  AACG-1       6   T cell
2  ACGT-1       7  NK cell
3  AGTC-1       8  DC cell

   Bacode  Value1   Value2
0  ATCC-1       5   B cell
1  AACG-1       6   T cell
2  ACGT-1       7  NK cell
3  AGTC-1       8  DC cell

   Bacode  Value1
0  ATCC-1       5
1  AACG-1       6
2  ACGT-1       7
3  AGTC-1       8

    index  Value
0  ATCC-1      5
1  AACG-1      6
2  ACGT-1      7
3  AGTC-1      8

pandas.DataFrame.to_excel—将对象写入Excel表

语法格式

DataFrame.to_excel(excel_writersheet_name='Sheet1'na_rep=''float_format=Nonecolumns=Noneheader=Trueindex=Trueindex_label=Nonestartrow=0startcol=0engine=Nonemerge_cells=Trueencoding=_NoDefault.no_defaultinf_rep='inf'verbose=_NoDefault.no_defaultfreeze_panes=Nonestorage_options=None)

常用的几个参数解释:

  • excel_writer:文件路径或ExcelWriter(适用于写入多个sheet表)。
  • sheet_name: 包含数据框的sheet,默认为"Sheet1"。
  • na_rep: 缺失值处理方式。默认为“”。
  • float_name: 为浮点数格式化字符串。float_format="%.2f"表示保留两位小数点。
  • columns: 可选项,接受序列或字符串列表,指出要写入的列。
  • header: 添加列名。默认值为True。如果给出一个字符串列表,则假定它是列名的别名。
  • index: 写行名,接受字符串列表和布尔值。默认为True,表示写入行名。
  • engine: 可选项,常用的模式有'openpyxl'和'xlsxwriter'。其中xlsxwriter不支持append操作。

代码示例

import pandas as pd
df = pd.read_excel("./input/test.xlsx", sheet_name="Sheet2")
print(df, "\n")

#将单个对象写入一个.xlsx文件,只需要指定目标文件名
df.to_excel("./newfile/output.xlsx", index=False, sheet_name="expression")

运行后会输出一个./newfile/output.xlsx文件,内容如下:

import pandas as pd
df = pd.read_excel("./input/test.xlsx", sheet_name="Sheet2")
print(df, "\n")

#写入多个sheet,必须创建一个ExcelWriter对象和目标文件名,并在文件中指定要写入的工作表。
#使用已经存在的文件名创建ExcelWriter对象将导致现有文件的内容被擦除。
df1 = df.copy()
with pd.ExcelWriter("./newfile/output.xlsx") as writer:
    df.to_excel(writer, sheet_name="value1")
    df1.to_excel(writer, sheet_name="value2")

 运行后会覆盖上一步生成的output.xlsx内容,并重新生成如下内容:

import pandas as pd
df = pd.read_excel("./input/test.xlsx", sheet_name="Sheet2")
print(df, "\n")

#ExcelWriter也可以被用来扩展已存在的文件
with pd.ExcelWriter("./newfile/output.xlsx", mode="a", engine='openpyxl') as writer:
    df.to_excel(writer, sheet_name="value3")

运行后会在上方excel基础上再添加一个名为value3的sheet。

pandas.read_csv—将csv文件读入pandas数据框,与pandas.read_excel类似

pandas.DataFrame.to_csv—将对象写入csv文件,与pandas.DataFrame.to_excel类似

 

标签:数据分析,xlsx,None,sheet,name,python,excel,pandas
From: https://www.cnblogs.com/chaimy/p/17102534.html

相关文章

  • python爬虫学习——列表
    namelist=[]#定义一个空的列表namelist1=["小张","小红","小李"]print(namelist1[0])print(namelist1[1])print(namelist1[2])testlist=[1,"测试"]#列表中......
  • python入门学习笔记004--趣学Python算法--第4例百钱百鸡
    中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱百鸡问题”:一只公鸡值五钱,一只母鸡值三钱,三只小鸡值一钱,现在要用百钱买百鸡,请问公鸡、母鸡、小鸡各多少只? ......
  • python 多线程 join
    当一个进程启动之后,会默认产生一个线程。这个线程就是主线程。如果是多线程时,主线程会创建多个线程。主线程执行完成后就会退出。多线程执行完成后也会退出。注意:只有守护......
  • Pandas中的灵活算数方法
    问题描述  在两个不同的索引化对象之间进行操作时,因为索引不完全相同导致算术后对象中的对应值缺失。  例:  s1:s1=pd.Series([7.3,-2.5,3.4,1.5],index=['......
  • python文件I/O
    1、打印到控制台:printif__name__=='__main__':print('hello')2、读取键盘输入:inputif__name__=='__main__':str1=input('请输入:')print(str1)3、打开......
  • Python_json类方法
    Python_json类方法importrequestsimportjsonheaders={"User-Agent":"Mozilla/5.0(LinuxAndroid6.0Nexus5Build/MRA58N)AppleWebKit/537.36(KHTML,l......
  • Selenium Python 问题汇总
    1.在自动化打开浏览器后会长时间加载,此时使用如下命令解决:driver.set_page_load_timeout(20)#设置浏览器超时加载时间driver.set_script_timeout(20)#这两种设置都进......
  • python列表list的基本属性和常用函数
    一、列表的基本属性1.什么是列表本质:是一种有序的集合列表的创建:list1=[元素1,元素2,元素3,...]2.创建空列表list1=list() list2=[]3.列表中元素的访问使用......
  • esp32用microPython点亮WS2812B彩灯
    ██████╗███████╗██████╗██╗██╗███████╗██╔═══██╗██╔════╝██╔══██╗╚██╗██╔╝██╔═══......
  • 2.13python基础知识
      编程语言的发展史1.机器语言:内部用0和1表示2.汇编语言:简单的字母表示二进制3.高级语言:人类可以理解的1、执行效率:机器语言>汇编语言>高级语言(编译型>解释型)2......