栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

结果导出
  • 12 结果导出
    • Excel
    • Python
      • 12.1 导出为xlsx
      • 12.2 导出为csv
      • 12.3 保存为mysql

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')
  • 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)

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' = '.')
  • 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)

12.3 保存为mysql
df.to_sql(name: 'str',
          con,
          if_exists: 'str' = 'fail',
          index: 'bool_t' = True,
          index_label=None)
  • 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)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1037162.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号