python实现生成多种文件格式:excel、csv、pdf

python实现生成多种文件格式:excel、csv、pdf

import data_util, time_util
import pandas as pd
import matplotlib.pyplot as plt
from matplotlib.backends.backend_pdf import PdfPages

if __name__ == '__main__':

    data = data_util.get_superset_data()
    df = ''
    if (len(data) > 0):
        # 应用函数转换时间戳
        for entry in data:
            entry['日程开始时间'] = time_util.convert_to_pst(entry['日程开始时间'])
            entry['日程结束时间'] = time_util.convert_to_pst(entry['日程结束时间'])

            if isinstance(data, dict):
                if data:
                    df = pd.DataFrame.from_records([data])
                else:
                    print("Data is an empty dictionary")
                    df = pd.DataFrame()
            elif isinstance(data, list):
                dfs = [pd.DataFrame.from_records([item]) for item in data if isinstance(item, dict)]
                df = pd.concat(dfs, ignore_index=True)
            else:
                print("Data is not a list or a dictionary")
                df = pd.DataFrame()

            # df.to_excel('media.xlsx', index=False)
            # df.to_csv('media.csv', index=False)

            # PDF文件格式
            plt.rcParams['font.sans-serif'] = ['SimHei']
            plt.rcParams['axes.unicode_minus'] = False

        #print(df)
            # 创建一个PDF文件
        with PdfPages('media.pdf') as pdf:
            # 将DataFrame绘制成表格
            fig, ax = plt.subplots(figsize=(8.27, 11.69), dpi=400)  # 设置dpi为300,提高图像质量
            ax.axis('tight')
            ax.axis('off')
            ax.table(cellText=df.values, colLabels=df.columns, loc='top', cellLoc='center')
            pdf.savefig(dpi=400)  # 将当前图形保存到PDF,并设置dpi
            plt.close()

        print("PDF文件已生成")

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-23 05:52:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-23 05:52:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-23 05:52:01       82 阅读
  4. Python语言-面向对象

    2024-03-23 05:52:01       91 阅读

热门阅读

  1. Linux 系统中 NumPy (Python 2) 编程环境

    2024-03-23 05:52:01       37 阅读
  2. 【Android】App 屏幕适配方案

    2024-03-23 05:52:01       39 阅读
  3. 2024.3.22 ARM

    2024-03-23 05:52:01       35 阅读
  4. Promise和事件轮询

    2024-03-23 05:52:01       38 阅读
  5. Spring Boot单元测试

    2024-03-23 05:52:01       44 阅读
  6. Spring Boot集成chronicle queue快速入门demo

    2024-03-23 05:52:01       37 阅读
  7. 各大编程语言输出Hello World

    2024-03-23 05:52:01       45 阅读
  8. 在 CentOS 7 上编译安装 Nginx 1.18

    2024-03-23 05:52:01       41 阅读
  9. centos docker 安装es

    2024-03-23 05:52:01       35 阅读
  10. 在CentOS中怎么安装和配置NginxWeb服务器

    2024-03-23 05:52:01       41 阅读