最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python讀取文本文件內(nèi)容轉(zhuǎn)換為json格式的方法示例

 更新時(shí)間:2025年07月17日 10:16:08   作者:番茄番茄君  
在日常工作中我們經(jīng)常需要處理各種格式的數(shù)據(jù),有時(shí)候我們可能需要將一個(gè)文本文件中的內(nèi)容轉(zhuǎn)換為 JSON 格式的數(shù)據(jù),這篇文章主要介紹了python讀取文本文件內(nèi)容轉(zhuǎn)換為json格式的相關(guān)資料,需要的朋友可以參考下

前言

場景:用于讀取包含空格分隔數(shù)據(jù)的TXT文件,并將其轉(zhuǎn)換為結(jié)構(gòu)化JSON文件

一、TXT文件轉(zhuǎn)換為JSON數(shù)組

1.txt文件內(nèi)容

地點(diǎn)A 116.405285 39.904989 43.5
地標(biāo)B 121.473701 31.230416 4.2
觀測點(diǎn)C 113.264385 23.129112 12.8

2.python代碼

# -*- coding:utf-8 -*-
# @Time: 2025-02-25 20:25
# @Author: 番茄君
# @File:06-txt轉(zhuǎn)換JSON數(shù)組.py
# @Software: PyCharm

import json

def txt_to_json(input_file, output_file):
    """
    將TXT文件轉(zhuǎn)換為JSON格式
    :param input_file: 輸入文件路徑(如input.txt)
    :param output_file: 輸出文件路徑(如output.json)
    """
    # 定義一個(gè)列表
    data_list = []

    # 讀取文件并逐行處理
    with open(input_file, 'r', encoding='utf-8') as f:
        for line in f:
            # 去除首尾空白字符并按空格分割
            parts = line.strip().split(" ")

            # 驗(yàn)證數(shù)據(jù)格式(需包含至少4列)
            if len(parts) >= 4:
                attribute = parts[0]
                try:
                    # 提取經(jīng)度、緯度、高度并轉(zhuǎn)換為浮點(diǎn)數(shù)
                    longitude = float(parts[1])
                    latitude = float(parts[2])
                    height = float(parts[3])

                    # 構(gòu)建JSON對象
                    data = {
                        "屬性名": attribute,
                        "經(jīng)度": longitude,
                        "緯度": latitude,
                        "高度": height
                    }
                    data_list.append(data)
                except ValueError:
                    print(f"數(shù)據(jù)格式錯誤,跳過行:{line}")

    # 生成JSON文件
    with open(output_file, 'w', encoding='utf-8') as json_f:
        json.dump(data_list, json_f, ensure_ascii=False, indent=4)

3.輸出結(jié)果

[
    {
        "屬性名": "地點(diǎn)A",
        "經(jīng)度": 116.405285,
        "緯度": 39.904989,
        "高度": 43.5
    },
    {
        "屬性名": "地標(biāo)B",
        "經(jīng)度": 121.473701,
        "緯度": 31.230416,
        "高度": 4.2
    },
    {
        "屬性名": "觀測點(diǎn)C",
        "經(jīng)度": 113.264385,
        "緯度": 23.129112,
        "高度": 12.8
    }
]

二、TXT文件轉(zhuǎn)換為JSON對象

1.txt文件

地點(diǎn)A 116.405285 39.904989 43.5
地標(biāo)B 121.473701 31.230416 4.2
觀測點(diǎn)C 113.264385 23.129112 12.8

2.python代碼

# -*- coding:utf-8 -*-
# @Time: 2025-02-25 16:15
# @Author: 番茄君
# @File:05-txt轉(zhuǎn)換為json對象.py
# @Software: PyCharm

import json

def txt_to_json(input_file, output_file):
    """
    將TXT文件轉(zhuǎn)換為嵌套JSON格式
    :param input_file: 輸入文件路徑(如input.txt)
    :param output_file: 輸出文件路徑(如output.json)
    """
    # 定義一個(gè)字典
    result = {}

    with open(input_file, 'r', encoding='utf-8') as f:
        for line_num, line in enumerate(f, 1):
            # 清理數(shù)據(jù)并分割列
            cleaned_line = line.strip()
            # print(line_num,line,cleaned_line)
            if not cleaned_line:
                continue  # 跳過空行

            columns = cleaned_line.split()

            # 驗(yàn)證數(shù)據(jù)格式
            if len(columns) != 4:
                print(f"第{line_num}行格式錯誤,需要4列數(shù)據(jù),實(shí)際列數(shù):{len(columns)}")
                continue

            key = columns[0]
            try:
                # 提取并轉(zhuǎn)換坐標(biāo)數(shù)據(jù)
                coordinates = {
                    "經(jīng)度": float(columns[1]),
                    "維度": float(columns[2]),
                    "高度": float(columns[3])
                }
            except ValueError as e:
                print(f"第{line_num}行數(shù)值格式錯誤:{e}")
                continue

            # 檢查重復(fù)鍵
            if key in result:
                print(f"警告:鍵名'{key}'重復(fù)(第{line_num}行)")

            result[key] = coordinates

    # 生成JSON文件
    with open(output_file, 'w', encoding='utf-8') as json_file:
        json.dump(result, json_file, ensure_ascii=False, indent=2)


# 使用示例
txt_to_json('input.txt', 'output.json')

3.輸出結(jié)果

{
  "地點(diǎn)A": {
    "經(jīng)度": 116.405285,
    "維度": 39.904989,
    "高度": 43.5
  },
  "地標(biāo)B": {
    "經(jīng)度": 121.473701,
    "維度": 31.230416,
    "高度": 4.2
  },
  "觀測點(diǎn)C": {
    "經(jīng)度": 113.264385,
    "維度": 23.129112,
    "高度": 12.8
  }
}

總結(jié) 

到此這篇關(guān)于python讀取文本文件內(nèi)容轉(zhuǎn)換為json格式的文章就介紹到這了,更多相關(guān)python讀取文本文件內(nèi)容轉(zhuǎn)換json內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 利用Python生成文件md5校驗(yàn)值函數(shù)的方法

    利用Python生成文件md5校驗(yàn)值函數(shù)的方法

    這篇文章主要給大家介紹了利用Python生成文件md5校驗(yàn)值函數(shù)的方法,文中給出了詳細(xì)的示例代碼,對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價(jià)值,有需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-01-01
  • 淺談Selenium 控制瀏覽器的常用方法

    淺談Selenium 控制瀏覽器的常用方法

    這篇文章主要介紹了淺談Selenium 控制瀏覽器的常用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Python對ElasticSearch獲取數(shù)據(jù)及操作

    Python對ElasticSearch獲取數(shù)據(jù)及操作

    這篇文章主要為大家詳細(xì)介紹了Python對ElasticSearch獲取數(shù)據(jù)及操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-04-04
  • Python+selenium點(diǎn)擊網(wǎng)頁上指定坐標(biāo)的實(shí)例

    Python+selenium點(diǎn)擊網(wǎng)頁上指定坐標(biāo)的實(shí)例

    今天小編就為大家分享一篇Python+selenium點(diǎn)擊網(wǎng)頁上指定坐標(biāo)的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 安裝Python和pygame及相應(yīng)的環(huán)境變量配置(圖文教程)

    安裝Python和pygame及相應(yīng)的環(huán)境變量配置(圖文教程)

    下面小編就為大家?guī)硪黄惭bPython和pygame及相應(yīng)的環(huán)境變量配置(圖文教程)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • django正續(xù)或者倒序查庫實(shí)例

    django正續(xù)或者倒序查庫實(shí)例

    這篇文章主要介紹了django正續(xù)或者倒序查庫實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-05-05
  • python開發(fā)入門——列表生成式

    python開發(fā)入門——列表生成式

    這篇文章主要介紹了python 列表生成式的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)python開發(fā),感興趣的朋友可以了解下
    2020-09-09
  • 在python3中實(shí)現(xiàn)更新界面

    在python3中實(shí)現(xiàn)更新界面

    今天小編就為大家分享一篇在python3中實(shí)現(xiàn)更新界面,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • Django如何使用asyncio協(xié)程和ThreadPoolExecutor多線程

    Django如何使用asyncio協(xié)程和ThreadPoolExecutor多線程

    這篇文章主要介紹了Django如何使用asyncio協(xié)程和ThreadPoolExecutor多線程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • Python實(shí)現(xiàn)清理臨時(shí)文件夾的示例代碼

    Python實(shí)現(xiàn)清理臨時(shí)文件夾的示例代碼

    在本篇博客中,我們將深入探討清理臨時(shí)文件夾的重要性,并提供一個(gè)簡單而有效的方法來優(yōu)化計(jì)算機(jī)性能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2026-03-03

最新評論

麦盖提县| 广河县| 浑源县| 伊宁县| 阳春市| 陈巴尔虎旗| 罗平县| 镇江市| 汉沽区| 靖江市| 肃宁县| 呼玛县| 南宫市| 迁安市| 上虞市| 东阳市| 正定县| 乌拉特前旗| 公安县| 项城市| 滁州市| 民勤县| 阿克陶县| 友谊县| 淮南市| 松原市| 弥勒县| 平凉市| 东乌珠穆沁旗| 鄂尔多斯市| 班玛县| 通江县| 大城县| 福鼎市| 天祝| 灵璧县| 佛学| 大理市| 泉州市| 台东市| 朝阳区|