• 《对比Excel,轻松学习Python数据分析》读书笔记------结果导出


    12 结果导出

    Excel

    “另存为”,"保存类型"选择导出的各种文件类型。

    在这里插入图片描述

    Python

    12.1 导出为xlsx

    df.to_excel(excel_writer,
                sheet_name: 'str' = 'Sheet1',
                na_rep: 'str' = '',
                float_format: 'str | None' = None,
                columns=None,
                header=True,
                index=True,
                index_label=None,
                startrow=0,
                startcol=0,
                inf_rep='inf')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • excel_writer设置文件保存路径
    • sheet_name设置保存到的Sheet名。默认Sheet1
    • na_rep设置空值的替换值。
    • float_format设置小数的格式。如':2f'表示保留两位小数
    • columns设置想要保存的列。
    • header设置是否保存列索引。也可以传入一组新的列名来替换保存。
    • index设置是否保存行索引。
    • index_label设置行索引的列名。
    • startrow设置df数据在保存的Sheet中左上角的行数。
    • startcol设置df数据在保存的Sheet中左上角的行数。
    • inf_rep设置无限值的替换值。

    如:

    students = pd.read_excel("./files/demo.xlsx", sheet_name=0)
    print(students)
    """
       个人编号   姓名  学校编号  高考成绩
    0     1  李云龙     1   580
    1     2   郭靖     2   720
    2     3  白展堂     3   660
    3     4   拜登     1   630
    4     5   李白     2   470
    5     6  邓丽君     3   620
    6     7  李小龙     1   603
    7     8  周星驰     2   650
    8     9   谭乔     3   579
    9    10   与山     1   588
    """
    
    schools = pd.read_excel("./files/demo.xlsx", sheet_name=2)
    print(schools)
    """
       学校编号  学校名称  地区  地区一本线
    0     1  江西一中  江西    540
    1     2  北京一中  北京    600
    2     3  浙江一中  浙江    530
    """
    
    df = students.merge(schools)
    print(df)
    """
       个人编号   姓名  学校编号  高考成绩  学校名称  地区  地区一本线
    0     1  李云龙     1   580  江西一中  江西    540
    1     4   拜登     1   630  江西一中  江西    540
    2     7  李小龙     1   603  江西一中  江西    540
    3    10   与山     1   588  江西一中  江西    540
    4     2   郭靖     2   720  北京一中  北京    600
    5     5   李白     2   470  北京一中  北京    600
    6     8  周星驰     2   650  北京一中  北京    600
    7     3  白展堂     3   660  浙江一中  浙江    530
    8     6  邓丽君     3   620  浙江一中  浙江    530
    9     9   谭乔     3   579  浙江一中  浙江    530
    """
    
    df.to_excel("./files/result.xlsx",
                sheet_name="成绩对比表",
                columns=["个人编号", "姓名", "高考成绩", "地区", "地区一本线"],
                index=False)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45

    在这里插入图片描述

    12.2 导出为csv

    df.to_csv(path_or_buf: 'FilePath | WriteBuffer[bytes] | WriteBuffer[str] | None' = None,
              sep: 'str' = ',',
              na_rep: 'str' = '',
              float_format: 'str | None' = None,
              columns: 'Sequence[Hashable] | None' = None,
              header: 'bool_t | list[str]' = True,
              index: 'bool_t' = True,
              index_label: 'IndexLabel | None' = None,
              mode: 'str' = 'w',
              quotechar: 'str' = '"',
              line_terminator: 'str | None' = None,
              date_format: 'str | None' = None,
              decimal: 'str' = '.')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • path_or_buf设置文件保存路径。

    • sep设置分隔符。csv格式默认分隔符为,

    • na_rep,float_format,columns,headers,index,index_label参数的含义同to_excel()

    • mode设置写入模式。同Python文件操作。

    • quotechar设置引号字符

    • line_terminator设置换行符。默认与系统的换行符相同(Linux下的\\n,Windows下的\\r\\n)

    • date_format设置日期数据的格式。

    • decimal设置小数点字符

    如:

    df.to_csv("./files/result.csv",
                columns=["个人编号", "姓名", "高考成绩", "地区", "地区一本线"],
                index=False)
    
    • 1
    • 2
    • 3

    在这里插入图片描述

    12.3 保存为mysql

    df.to_sql(name: 'str',
              con,
              if_exists: 'str' = 'fail',
              index: 'bool_t' = True,
              index_label=None)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • name设置要保存到的数据表的名称。
    • con设置数据库连接对象
    • if_exists设置如果数据库中如果已存在名为name的数据表后,采取的行为。fail报错,replace覆盖,append附加
    • index,index_label参数的含义同to_excel()

    如:

    from sqlalchemy import create_engine  # 导入创建连接对象的方法
    
    engine = create_engine(
        'mysql+pymysql://user:password@localhost/database')  # 创建连接对象
    # user:用户名   password:密码  localhost:ip地址   database:数据库名
    df.to_sql("grades_compared", con=engine, index=False)
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    在这里插入图片描述

  • 相关阅读:
    黑灰产眼中的NFT:平台嗷嗷待宰,用户送钱上门
    runc hang 导致 Kubernetes 节点 NotReady
    Sentinel 微服务保护
    手撕IP核系列——Xilinx FIFO IP核-同步FIFO
    Godot屏幕抖动效果原理与实现
    Android : ListView + BaseAdapter-简单应用
    adb server version (19045) doesn‘t match this client (41); killing.的解决办法
    字符串5——左旋转字符串
    ZYNQ7020开发(二):zynq linux系统编译
    操作系统——文件管理
  • 原文地址:https://blog.csdn.net/ncu5509121083/article/details/126232116