欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)提取JSON數(shù)據(jù)中的鍵值對(duì)并保存為.csv文件

 更新時(shí)間:2023年09月17日 09:49:18   作者:瘋狂學(xué)習(xí)GIS  
這篇文章主要為大家詳細(xì)介紹了如何基于Python實(shí)現(xiàn)讀取JSON文件數(shù)據(jù),并將JSON文件中指定的鍵值對(duì)數(shù)據(jù)轉(zhuǎn)換為.csv格式文件,感興趣的小伙伴可以了解下

在之前的文章Python提取JSON文件中的指定數(shù)據(jù)并保存在CSV或Excel表格文件內(nèi)中,我們就介紹過(guò)將JSON文件數(shù)據(jù)保存到.csv格式或.xlsx格式的表格文件中的方法;而本文我們將針對(duì)不同的待提取數(shù)據(jù)特征,給出另一種方法。

首先,我們來(lái)明確一下具體的需求。我們現(xiàn)有一個(gè)JSON文件數(shù)據(jù),是一個(gè)包含多個(gè)JSON對(duì)象的列表,如下圖所示;其中,我們希望將text中的內(nèi)容提取出來(lái)——text中的數(shù)據(jù)都是以鍵值對(duì)的形式存儲(chǔ)的,我們希望的是,將鍵值對(duì)的鍵作為.csv格式文件的列名,而值則是這一列對(duì)應(yīng)的值;因?yàn)檫@個(gè)JSON數(shù)據(jù)中包含很多個(gè)text(每一個(gè)text中的所有鍵都是一樣的,但是值不完全一致),所以我們最后就會(huì)得到一個(gè)具有很多行的.csv格式文件。

明確了需求,我們就可以開(kāi)始代碼的撰寫(xiě)。本文所用代碼如下。

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Fri Sep 15 11:12:01 2023
@author: fkxxgis
"""
import json
import csv
json_file = "/Users/ddd/Downloads/single.json"
with open(json_file, 'r') as file:
    data = json.load(file)
fieldnames = set()
for item in data:
    fieldnames.update(json.loads(item['text']).keys())
csv_filename = "/Users/didi/Downloads/output.csv"
with open(csv_filename, 'w', newline='') as csvfile:
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
    writer.writeheader()
    for item in data:
        json_string = item['text']
        row_data = json.loads(json_string)
        writer.writerow(row_data)

其中,我們首先通過(guò)import語(yǔ)句導(dǎo)入必要的Python模塊,包括用于處理JSON數(shù)據(jù)的json和用于處理CSV文件的csv。

接下來(lái),我們打開(kāi)名為single.json的JSON文件并讀取其內(nèi)容,將其存儲(chǔ)在data變量中。json.load(file)用于將JSON文件內(nèi)容加載到Python數(shù)據(jù)結(jié)構(gòu)中。隨后,創(chuàng)建一個(gè)空集合fieldnames,用于存儲(chǔ)將在CSV文件的頭部寫(xiě)入的列名。

緊接著,我們遍歷data列表中的每個(gè)元素,其中每個(gè)元素是一個(gè)包含JSON格式的字符串的字典。對(duì)于每個(gè)元素,將JSON文本——也就是item['text']解析為字典,并獲取該字典中的所有鍵。這些鍵將被添加到fieldnames集合中,以便稍后在CSV文件的頭部(列名稱)使用。

其次,創(chuàng)建一個(gè)CSV文件output.csv以進(jìn)行寫(xiě)入,使用csv.DictWriter對(duì)象初始化,其中指定了要寫(xiě)入的列名(通過(guò)fieldnames變量)。使用writer.writeheader()寫(xiě)入CSV文件的頭部,這將包含字段名稱。最后,遍歷data列表中的每個(gè)元素,對(duì)于每個(gè)元素,將JSON文本解析為字典,并將該字典的數(shù)據(jù)寫(xiě)入CSV文件中,每行對(duì)應(yīng)一個(gè)JSON對(duì)象。

執(zhí)行上述代碼,我們即可在指定的結(jié)果.csv格式文件中看到我們轉(zhuǎn)換之后的數(shù)據(jù)結(jié)果;如下圖所示。其中,紫色框內(nèi)部分就是列名,也就是我們提取出來(lái)的鍵,而值則是每一行的數(shù)據(jù)。

至此,大功告成。

到此這篇關(guān)于Python實(shí)現(xiàn)提取JSON數(shù)據(jù)中的鍵值對(duì)并保存為.csv文件的文章就介紹到這了,更多相關(guān)Python提取json數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • python使用datetime.utcnow()問(wèn)題解析

    python使用datetime.utcnow()問(wèn)題解析

    這篇文章主要介紹了python使用datetime.utcnow()問(wèn)題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • Python進(jìn)行區(qū)間取值案例講解

    Python進(jìn)行區(qū)間取值案例講解

    這篇文章主要介紹了Python進(jìn)行區(qū)間取值案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • Python讀取分割壓縮TXT文本文件實(shí)例

    Python讀取分割壓縮TXT文本文件實(shí)例

    今天小編就為大家分享一篇Python讀取分割壓縮TXT文本文件實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-02-02
  • Python基礎(chǔ)之Numpy的基本用法詳解

    Python基礎(chǔ)之Numpy的基本用法詳解

    這篇文章主要介紹了Python基礎(chǔ)之Numpy的基本用法詳解,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)python基礎(chǔ)的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-05-05
  • python mysql中in參數(shù)化說(shuō)明

    python mysql中in參數(shù)化說(shuō)明

    這篇文章主要介紹了python mysql中in參數(shù)化說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-06-06
  • Python將多個(gè)excel表格合并為一個(gè)表格

    Python將多個(gè)excel表格合并為一個(gè)表格

    這篇文章主要為大家詳細(xì)介紹了Python將多個(gè)excel表格合并為一個(gè)表格的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • python實(shí)現(xiàn)彈窗祝福效果

    python實(shí)現(xiàn)彈窗祝福效果

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)彈窗祝福效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • python 實(shí)現(xiàn)屏幕錄制示例

    python 實(shí)現(xiàn)屏幕錄制示例

    今天小編就為大家分享一篇python 實(shí)現(xiàn)屏幕錄制示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • python字典快速保存于讀取的方法

    python字典快速保存于讀取的方法

    下面小編就為大家分享一篇python字典快速保存于讀取的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • 一文詳解Python中多進(jìn)程和進(jìn)程池的使用方法

    一文詳解Python中多進(jìn)程和進(jìn)程池的使用方法

    這篇文章將介紹Python中多進(jìn)程和進(jìn)程池的使用方法,并提供一些實(shí)用的案例供大家參考,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-04-04

最新評(píng)論