【Python数据处理】使用Pandas对CSV或Excel数据进行处理并生成JSON文件

一、Pandas简介

Pandas 是一个开源的数据分析和数据处理库,它是基于 Python 编程语言的。

Pandas 提供了易于使用的数据结构和数据分析工具,特别适用于处理结构化数据,如表格型数据(Excel、csv等形式表格都可使用)。

Pandas 是数据科学和分析领域中常用的工具之一,它使得用户能够轻松地从各种数据源中导入数据,并对数据进行高效的操作和分析。

Pandas 主要引入了两种新的数据结构:DataFrameSeries

Series: 类似于一维数组或列表,是由一组数据以及与之相关的数据标签(索引)构成。Series 可以看作是 DataFrame 中的一列,也可以是单独存在的一维数据结构。
在这里插入图片描述

DataFrame: 类似于一个二维表格,它是 Pandas 中最重要的数据结构。DataFrame 可以看作是由多个 Series 按列排列构成的表格,它既有行索引也有列索引,因此可以方便地进行行列选择、过滤、合并等操作。

在这里插入图片描述

DataFrame 可视为由多个 Series 组成的数据结构:
在这里插入图片描述

Pandas 提供了丰富的功能,包括:

1、数据清洗:处理缺失数据、重复数据等。
2、数据转换:改变数据的形状、结构或格式。
3、数据分析:进行统计分析、聚合、分组等。
4、数据可视化:通过整合 Matplotlib 和 Seaborn 等库,可以进行数据可视化。

二、Pandas 应用

Pandas 在数据科学和数据分析领域中具有广泛的应用,其主要优势在于能够处理和分析结构化数据。

以下是 Pandas 的一些主要应用领域:

(1)金融领域:金融机构使用 Pandas 来处理和分析股票市场数据、财务数据、交易数据等。Pandas 的灵活性和高效性使得金融分析师能够快速进行数据清洗、统计分析、建模等工作。

(2)科学研究:科学研究领域经常涉及大量的实验数据、观测数据等,Pandas 提供了强大的工具来处理和分析这些数据,例如天文学、生物学、地球科学等领域。

(3)企业数据分析:各种企业和组织都需要对业务数据进行分析,以支持决策和战略规划。Pandas 提供了处理和分析企业数据的功能,包括销售数据、客户数据、运营数据等。

(4)社交媒体分析:社交媒体平台产生的海量数据需要进行分析来了解用户行为、趋势和情感倾向。Pandas 可以帮助分析师处理和分析社交媒体数据,进行用户行为分析、情感分析等。

(5)医疗保健:医疗保健领域需要处理和分析大量的医疗数据,包括患者数据、临床试验数据、医疗图像数据等。Pandas 提供了处理和分析这些数据的工具,支持医疗研究和临床决策。

(6)教育研究:教育领域可以利用 Pandas 来处理学生表现数据、教学评估数据、课程数据等,从而进行教育研究和改进教学质量。

(7)市场营销:市场营销专业人员可以使用 Pandas 分析市场数据、客户数据、广告数据等,以制定营销策略和优化市场活动效果。

Pandas 在许多领域中都是一种强大而灵活的工具,为数据科学家、分析师和工程师提供了处理和分析数据的便捷方式。

三、Pandas 实战

安装 pandas 需要基础环境是 Python,Pandas 是一个基于 Python 的库,因此你需要先安装 Python,然后再通过 Python 的包管理工具 pip 安装 Pandas。

  • 这里使用 pip 安装 pandas:
pip install pandas
  • 导入pandas,一般使用别名pd替代:
import pandas as pd
  • 实例-将五万行的CSV文件进行处理并填入json文件
import pandas as pd
import json
import os

#将五万行的CSV数据进行筛选并填入json文件

def update_json_with_csv(csv_path, json_path, output_json_path):
    try:
        # 加载 CSV 数据
        data_csv = pd.read_csv(csv_path)

        # 过滤想要的时间范围数据
        data_csv['record_date'] = pd.to_datetime(
            data_csv['record_date'])  # 确保日期列采用日期时间格式
        data_csv_2021 = data_csv[data_csv['record_date'].dt.year == 2021]  #  for 2021

        # 将 total_sum 列提取为列表
        total_sums_2021 = data_csv_2021['total_sum'].tolist()

        # 加载 JSON 数据
        with open(json_path, 'r', encoding='utf-8') as file:
            json_data = json.load(file)

        # 更新 JSON 数据中的“count”字段
        for entry, new_count in zip(json_data['data'], total_sums_2021):
            entry['count'] = new_count

        # 保存更新的 JSON 数据
        if not os.path.exists(os.path.dirname(output_json_path)):
            os.makedirs(os.path.dirname(output_json_path))

        with open(output_json_path, 'w', encoding='utf-8') as file:
            json.dump(json_data, file, indent=4, ensure_ascii=False)  # 确保中文字符书写正确

        print("JSON file has been updated successfully.")
    except Exception as e:
        print("Error occurred:", e)

#  CSV 和 JSON 文件本地地址
csv_file_path = r'C:\Users\administered\Desktop\q1.sql\your_csv.csv'
json_file_path = r'C:\Users\administered\Desktop\q1.sql\your_json.json'
output_json_path = r'C:\Users\administered\Desktop\q1.sql\getHeatMapByCompany2024.json'

# 调用函数
update_json_with_csv(csv_file_path, json_file_path, output_json_path)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值