当前位置: 首页 > news >正文

数据分析中,文件解析库解析内容样式调整

CSV文件:使用Python标准库中的csv模块,通过简单的文本解析来读取数据。
Excel文件:使用专门的库(如openpyxl、xlrd)来解析复杂的文件格式,或者使用pandas库来简化读取过程。

在进行文件读取后的格式调整时,可设置显示选项进行整理,在进行举例前,先介绍需要引入的tabulate库
tabulate库主要用于:

  1. 格式化输出:将复杂的数据结构(如列表、字典)转换为易于阅读的表格格式。
  2. 控制台展示:在命令行界面中以表格形式展示数据,适用于脚本和命令行工具。
  3. 文件保存:将表格数据保存为文本文件,支持多种表格格式(如 Markdown、HTML、LaTeX 等)。
  4. 数据对比:用于比较不同数据集,通过表格形式直观展示差异。
  5. 报告生成:在生成报告时,使用表格形式展示数据,使报告更加清晰和专业。
    多种表格格式:支持多种表格格式,包括简单的文本表格、Markdown、HTML、LaTeX 等。
    自定义样式:允许用户自定义表格的样式,包括表头、分隔符、对齐方式等。
    灵活性:可以处理各种数据结构,包括嵌套列表和字典。

举例:(注:需要引入tabulate 库)
pd.set_option(‘display.max_columns’, None) # 显示所有列
pd.set_option(‘display.max_rows’, None) # 显示所有行
pd.set_option(‘display.width’, None) # 自动调整宽度
pd.set_option(‘display.max_colwidth’, 100) # 设置最大列宽
pd.set_option(‘display.precision’, 2) # 设置小数精度
pd.set_option(‘display.unicode.ambiguous_as_wide’, True) # 处理中文对齐
pd.set_option(‘display.unicode.east_asian_width’, True) # 处理中文对齐

完整代码如下:
解析文件为csv 文件,文件内容如下:
订单编号 总金额 买家实际支付金额 收货地址 订单创建时间 订单付款时间 退款金额
1 178.8 上海 2020/2/21 0:00 0.0
2 21 内蒙古自治区 2020/2/20 23:59 2020/2/21 0:00 0.0
3 37 安徽省 2020/2/20 23:59 0.0
4 157 湖南省 2020/2/20 23:58 2020/2/20 23:58 0.0
5 64.8 江苏省 2020/2/20 23:57 2020/2/20 23:57 64.8
6 65.8 江苏省 2020/2/21 23:57 2020/2/21 23:57 0
7 66.8 江苏省 2020/2/22 23:57 2020/2/22 23:57 0
8 67.8 江苏省 2020/2/23 23:57 0
9 68.8 江苏省 2020/2/24 23:57 2020/2/24 23:57 0
10 69.8 江苏省 2020/2/25 23:57 2020/2/25 23:57 0
11 70.8 江苏省 2020/2/26 23:57 2020/2/26 23:57 0

import pytest
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
import os
import warnings
from tabulate import tabulate  # 添加tabulate库
warnings.filterwarnings('ignore')

# 设置显示选项
pd.set_option('display.max_columns', None)  # 显示所有列
pd.set_option('display.max_rows', None)     # 显示所有行
pd.set_option('display.width', None)        # 自动调整宽度
pd.set_option('display.max_colwidth', 100)  # 设置最大列宽
pd.set_option('display.precision', 2)       # 设置小数精度
pd.set_option('display.unicode.ambiguous_as_wide', True)  # 处理中文对齐
pd.set_option('display.unicode.east_asian_width', True)   # 处理中文对齐

def display_aligned_dataframe(df):
    """打印对齐的数据框"""
    # 创建一个样式对象
    styled_df = df.style.set_properties(**{
        'text-align': 'left',
        'padding': '10px'
    })
    # 设置表格边框
    styled_df = styled_df.set_table_styles([
        {'selector': 'th',
         'props': [('text-align', 'center'),
                  ('background-color', '#f0f0f0'),
                  ('padding', '10px')]},
        {'selector': 'td',
         'props': [('text-align', 'left'),
                  ('padding', '10px')]}
    ])
    
    return styled_df

# 读取CSV文件后使用新的显示方式
file_path = 'E:\TestDome\Demo1.csv'
df = pd.read_csv(file_path, encoding="gbk")

# 使用新的显示方式
print("\n数据预览:")
print(tabulate(df, headers='keys', tablefmt='grid', showindex=True))  # 使用tabulate对齐表头和数据

# 或者使用样式化显示
display_aligned_dataframe(df)

相关文章:

  • 一个数组分为两个sum相等的数组
  • 正弦函数的连续傅里叶变换正弦序列的DTFT
  • FPGA助力智能机器人应用
  • 小样本学习(Few-Shot Learning)基本概念 VS 监督学习
  • docker-操作实战
  • 为什么递归用栈?动态分配用堆?
  • 网络编程的概念&作用
  • vscode ssh连接ubantu显示管道不存在,VMware Virtual Ethernet Adapter for VMnet8不存在
  • 6.3 模拟专题:LeetCode 6. Z 字形变换
  • Vue3 知识点总结
  • 在 PostgreSQL 中设置调试环境以更好地理解 OpenSSL API
  • DeepSeek 助力 Vue3 开发:打造丝滑的表格(Table)之添加行拖拽排序功能示例1,TableView16_01.vue 基础行拖拽排序示例
  • cnn中的dropout技术
  • 如何在jupyter notebook中使用django框架
  • Linux 配置时间服务器
  • 企业级全栈开发终极指南:Spring Boot+Vue3+Kubernetes实战,从0到上线高并发系统
  • 禾赛盈利了,但激光雷达没有胜利
  • 基于web的家政服务网站
  • JPA实体类注解缺失异常全解:从报错到防御!!!
  • 【CF】Day15——Codeforces Round 1012 (Div. 2) CD
  • 网站客户端制作/新网站百度收录要几天
  • 西安市市政建设网站/友情链接网自动收录
  • 广告营销号码是干嘛的/北京网站优化步
  • c 网站做微信支付功能/什么软件能搜索关键词能快速找到
  • 淘宝入驻网站建设/广告推广网站
  • 呼市城乡建设委员会网站/外贸做网站公司哪家好