• 《对比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

    在这里插入图片描述

  • 相关阅读:
    云安全之访问控制介绍
    【2023年数学建模国赛】D题解题思路
    前端 :用HTML ,JS写一个 双色球彩票中将机制,因为时间不够,加上本人懒没有用CSS美化界面,多包涵
    如何利用python提取字符串中的数字
    031:vue子组件向父组件传递多个参数,父组件2种解析方法
    边缘云服务提供商[网心科技],入选2022信通院“可信边缘计算推进计划”首批成员单位
    [RoarCTF 2019]PHPShe
    【C++入门】string类常用方法(万字详解)
    uiautomator2常用命令
    【云原生 | 40】Docker快速部署高级动态解释型脚本语言Perl
  • 原文地址:https://blog.csdn.net/ncu5509121083/article/details/126232116