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

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

bash 复制代码
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文件已生成")
相关推荐
小灰灰搞电子5 分钟前
Qt PDF模块详解
数据库·qt·pdf
TextIn智能文档云平台6 分钟前
如何将公司内部知识库(Word/PDF)接入大模型?
pdf·word
棒棒的皮皮13 分钟前
【OpenCV】Python图像处理几何变换之缩放
图像处理·python·opencv·计算机视觉
塔克Tark18 分钟前
【Python】xxx.py文件打包为.exe可执行文件
开发语言·python
会笑的小熊18 分钟前
解决安装torch出现SSL 连接异常
python
ASD123asfadxv18 分钟前
排球动作识别与检测:基于YOLO11-C2PSA-CGLU的攻击、拦网、防守、发球、传球和排球检测六类动作自动识别与定位方法研究
python
祝余Eleanor21 分钟前
Day 41 训练和测试的规范写法
python·深度学习·机器学习
百锦再21 分钟前
与AI沟通的正确方式——AI提示词:原理、策略与精通之道
android·java·开发语言·人工智能·python·ui·uni-app
电化学仪器白超28 分钟前
《可编程固定阻值电子负载的制作与自动化标定技术》
python·单片机·嵌入式硬件·自动化
free-elcmacom28 分钟前
机器学习高阶教程<2>优化理论实战:BERT用AdamW、强化学习爱SGD
人工智能·python·机器学习·bert·强化学习·大模型训练的优化器选择逻辑