加入收藏 | 设为首页 | 会员中心 | 我要投稿 草根网 (https://www.0372zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

五种比较常用格 式的 数据输出,手把手教你用Pandas实现

发布时间:2022-12-20 10:28:29 所属栏目:大数据 来源:
导读:  五种比较常用格式的数据输出,手把手教你用Pandas实现

 01 CSV

  DataFrame.to_csv方法可以将DataFrame导出为CSV格式的文件,需要传入一个CSV文件名。

  复制
  df.to_csv('don

    五种比较常用格式的数据输出,手把手教你用Pandas实现
   
    01 CSV
 
  DataFrame.to_csv方法可以将DataFrame导出为CSV格式的文件,需要传入一个CSV文件名。
 
  复制
  df.to_csv('done.csv')
  df.to_csv('data/done.csv') # 可以指定文件目录路径
  df.to_csv('done.csv', index=False) # 不要索引

  另外还可以使用sep参数指定分隔符,columns传入一个序列指定列名,编码用encoding传入。如果不需要表头,可以将header设为False。如果文件较大,可以使用compression进行压缩:
 
  复制
  # 创建一个包含out.csv的压缩文件out.zip
  compression_opts = dict(method='zip',
                          archive_name='out.csv')  
  df.to_csv('out.zip', index=False,
            compression=compression_opts)  

  02 Excel
 
  将DataFrame导出为Excel格式也很方便,使用DataFrame.to_excel方法即可。要想把DataFrame对象导出,首先要指定一个文件名,这个文件名必须以.xlsx或.xls为扩展名,生成的文件标签名也可以用sheet_name指定。
 
  如果要导出多个DataFrame到一个Excel,可以借助ExcelWriter对象来实现。
 
  复制
  # 导出,可以指定文件路径
  df.to_excel('path_to_file.xlsx')
  # 指定sheet名,不要索引
  df.to_excel('path_to_file.xlsx', sheet_name='Sheet1', index=False)
  # 指定索引名,不合并单元格
  df.to_excel('path_to_file.xlsx', index_label='label', merge_cells=False)

  多个数据的导出如下:
 
  复制
  # 将多个df分不同sheet导入一个Excel文件中
  with pd.ExcelWriter('path_to_file.xlsx') as writer:
      df1.to_excel(writer, sheet_name='Sheet1')
      df2.to_excel(writer, sheet_name='Sheet2')

  使用指定的Excel导出引擎如下:
 
  复制
  # 指定操作引擎
  df.to_excel('path_to_file.xlsx', sheet_name='Sheet1', engine='xlsxwriter')
  # 在'engine'参数中设置ExcelWriter使用的引擎
  writer = pd.ExcelWriter('path_to_file.xlsx', engine='xlsxwriter')
  df.to_excel(writer)
  writer.save()
 
  # 设置系统引擎
  from pandas import options  # noqa: E402
  options.io.excel.xlsx.writer = 'xlsxwriter'
  df.to_excel('path_to_file.xlsx', sheet_name='Sheet1')

  03 HTML
 
  DataFrame.to_html会将DataFrame中的数据组装在HTML代码的table标签中,输入一个字符串,这部分HTML代码可以放在网页中进行展示,也可以作为邮件正文。
 
  复制
  print(df.to_html())
  print(df.to_html(columns=[0])) # 输出指定列
  print(df.to_html(bold_rows=False)) # 表头不加粗
  # 表格指定样式,支持多个
  print(df.to_html(classes=['class1', 'class2']))

  04 数据库(SQL)
 
  将DataFrame中的数据保存到数据库的对应表中:
 
  复制
  # 需要安装SQLAlchemy库
  from sqlalchemy import create_engine
  # 创建数据库对象,SQLite内存模式
  engine = create_engine('sqlite:///:memory:')
  # 取出表名为data的表数据
  with engine.connect() as conn, conn.begin():
      data = pd.read_sql_table('data', conn)
 
  # data
  # 将数据写入
  data.to_sql('data', engine)
  # 大量写入
  data.to_sql('data_chunked', engine, chunksize=1000)
  # 使用SQL查询
  pd.read_sql_query('SELECT * FROM data', engine)

  05 Markdown
 
  Markdown是一种常用的技术文档编写语言,Pandas支持输出Markdown格式的字符串,如下:
 
  复制
  print(cdf.to_markdown())
 
  '''
  |    |   x |   y |   z |
  |:---|----:|----:|----:|
  | a  |   1 |   2 |   3 |
  | b  |   4 |   5 |   6 |
  | c  |   7 |   8 |   9 |
  '''

  小结
 
  本文介绍了如何将DataFrame对象数据进行输出,数据经输出、持久化后会成为固定的数据资产,供我们进行归档和分析。
 

(编辑:草根网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!