国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

55_Pandas.DataFrame 轉(zhuǎn)換為 JSON 字符串/文件并保存 (to_json)

這篇具有很好參考價值的文章主要介紹了55_Pandas.DataFrame 轉(zhuǎn)換為 JSON 字符串/文件并保存 (to_json)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

55_Pandas.DataFrame 轉(zhuǎn)換為 JSON 字符串/文件并保存 (to_json)

使用pandas.DataFrame的方法to_json(),可以將pandas.DataFrame轉(zhuǎn)為JSON格式字符串(str類型)或者輸出(保存)為JSON格式文件。

在此,對以下內(nèi)容進行說明。有關(guān)其他參數(shù),請參閱上面的官方文檔。

  • pandas.DataFrame.to_json() 的基本用法
    • 轉(zhuǎn)換為JSON格式字符串
    • 輸出(保存)為JSON格式文件
      • 文件壓縮:參數(shù)壓縮
  • 指定格式:參數(shù)orient
    • split
    • records
      • JSON Lines(.jsonl)
    • index
    • columns(默認值)
    • values
    • table

如果要將 pandas.DataFrame 轉(zhuǎn)換為字典(dict 類型),請使用 to_dict() 方法。

  • 54_Pandas將DataFrame、Series轉(zhuǎn)換為字典 (to_dict)

另外,用pandas讀寫(輸入/輸出)CSV文件和Excel文件見以下文章。

  • 03_Pandas讀取csv/tsv文件(read_csv,read_table)
  • 34_Pandas對CSV文件內(nèi)容的導(dǎo)出和添加(to_csv)
  • 50_Pandas讀取 Excel 文件 (xlsx, xls)
  • 51_Pandas (to_excel) 編寫 Excel 文件 (xlsx, xls)

這里以創(chuàng)建如下 pandas.DataFrame 為例。

import pandas as pd
import pprint
import json

df = pd.DataFrame({'col1': [1, 2, 3], 'col2': ['a', 'x', '啊']},
                  index=['row1', 'row2', 'row3'])

print(df)
#       col1 col2
# row1     1    a
# row2     2    x
# row3     3    啊

pandas.DataFrame.to_json() 的基本用法

轉(zhuǎn)換為JSON格式字符串

當你從 pandas.DataFrame 調(diào)用 to_json() 方法時,默認情況下它被轉(zhuǎn)換為 JSON 格式字符串(str 類型),如下所示。

print(df.to_json())
# {"col1":{"row1":1,"row2":2,"row3":3},"col2":{"row1":"a","row2":"x","row3":"\u554a"}}

print(type(df.to_json()))
# <class 'str'>

非 ascii 字符(例如雙字節(jié)字符)是 Unicode 轉(zhuǎn)義的。如果參數(shù) force_ascii=False,則不會進行 Unicode 轉(zhuǎn)義。

輸出(保存)為JSON格式文件

如果您將路徑指定為第一個參數(shù),它將被保存為一個文件。未指定路徑時輸出的字符串按原樣寫入文件。

path = 'data/sample_from_pandas_columns.json'

df.to_json(path)
with open(path) as f:
    s = f.read()
    print(s)
    print(type(s))
# {"col1":{"row1":1,"row2":2,"row3":3},"col2":{"row1":"a","row2":"x","row3":"\u554a"}}
# <class 'str'>

使用open()讀取時,參數(shù)encoding='unicode-escape’會將Unicode轉(zhuǎn)義序列\uXXXX轉(zhuǎn)換為對應(yīng)的字符。

with open(path, encoding='unicode-escape') as f:
    s = f.read()
    print(s)
    print(type(s))
# {"col1":{"row1":1,"row2":2,"row3":3},"col2":{"row1":"a","row2":"x","row3":"啊"}}
# <class 'str'>

使用標準庫 json 模塊的 json.load() 函數(shù)作為字典加載。在這種情況下,默認情況下 Unicode 轉(zhuǎn)義序列 \uXXXX被轉(zhuǎn)換為相應(yīng)的字符。

with open(path) as f:
    d = json.load(f)
    print(d)
    print(type(d))
# {'col1': {'row1': 1, 'row2': 2, 'row3': 3}, 'col2': {'row1': 'a', 'row2': 'x', 'row3': '啊'}}
# <class 'dict'>

文件壓縮:參數(shù)壓縮

通過指定從 pandas 版本 0.21.0 添加的參數(shù)壓縮,可以在輸出文件時壓縮文件。

指定“gzip”、“bz2”、“xz”之一。

df.to_json('data/sample_from_pandas_columns.gz', compression='gzip')

指定格式:參數(shù)orient

參數(shù)orient可以指定如何將pandas.DataFrame行標簽索引、列標簽列和值輸出為JSON。

在這里,還顯示了使用 json.loads() 將輸出字符串轉(zhuǎn)換為字典并使用 pprint() 顯示的結(jié)果。

split

{index -> [index], columns -> [columns], data -> [values]}

print(df.to_json(orient='split'))
# {"columns":["col1","col2"],"index":["row1","row2","row3"],"data":[[1,"a"],[2,"x"],[3,"\u554a"]]}

pprint.pprint(json.loads(df.to_json(orient='split')))
# {'columns': ['col1', 'col2'],
#  'data': [[1, 'a'], [2, 'x'], [3, '啊']],
#  'index': ['row1', 'row2', 'row3']}

records

[{column -> value}, ... , {column -> value}]

print(df.to_json(orient='records'))
# [{"col1":1,"col2":"a"},{"col1":2,"col2":"x"},{"col1":3,"col2":"\u554a"}]

pprint.pprint(json.loads(df.to_json(orient='records')), width=40)
# [{'col1': 1, 'col2': 'a'},
#  {'col1': 2, 'col2': 'x'},
#  {'col1': 3, 'col2': '啊'}]

JSON Lines(.jsonl)

如果參數(shù) orient='records,并且參數(shù) lines=True,它將是一個字符串,每個 {column: value} 都有一個換行符。

print(df.to_json(orient='records', lines=True))
# {"col1":1,"col2":"a"}
# {"col1":2,"col2":"x"}
# {"col1":3,"col2":"\u554a"}

index

{index -> {column -> value}}

print(df.to_json(orient='index'))
# {"row1":{"col1":1,"col2":"a"},"row2":{"col1":2,"col2":"x"},"row3":{"col1":3,"col2":"\u554a"}}

pprint.pprint(json.loads(df.to_json(orient='index')))
# {'row1': {'col1': 1, 'col2': 'a'},
#  'row2': {'col1': 2, 'col2': 'x'},
#  'row3': {'col1': 3, 'col2': '啊'}}

columns(默認值)

{column -> {index -> value}}

如果省略了 orient 參數(shù)(默認),則為這種格式。

print(df.to_json(orient='columns'))
# {"col1":{"row1":1,"row2":2,"row3":3},"col2":{"row1":"a","row2":"x","row3":"\u554a"}}

pprint.pprint(json.loads(df.to_json(orient='columns')))
# {'col1': {'row1': 1, 'row2': 2, 'row3': 3},
#  'col2': {'row1': 'a', 'row2': 'x', 'row3': '啊'}}

values

print(df.to_json(orient='values'))
# [[1,"a"],[2,"x"],[3,"\u554a"]]

pprint.pprint(json.loads(df.to_json(orient='values')))
# [[1, 'a'], [2, 'x'], [3, '啊']]

table

一種包含數(shù)據(jù)結(jié)構(gòu)方案信息的格式。文章來源地址http://www.zghlxwxcb.cn/news/detail-612186.html

print(df.to_json(orient='table'))
# {"schema": {"fields":[{"name":"index","type":"string"},{"name":"col1","type":"integer"},{"name":"col2","type":"string"}],"primaryKey":["index"],"pandas_version":"0.20.0"}, "data": [{"index":"row1","col1":1,"col2":"a"},{"index":"row2","col1":2,"col2":"x"},{"index":"row3","col1":3,"col2":"\u554a"}]}

pprint.pprint(json.loads(df.to_json(orient='table')))
# {'data': [{'col1': 1, 'col2': 'a', 'index': 'row1'},
#           {'col1': 2, 'col2': 'x', 'index': 'row2'},
#           {'col1': 3, 'col2': '啊', 'index': 'row3'}],
#  'schema': {'fields': [{'name': 'index', 'type': 'string'},
#                        {'name': 'col1', 'type': 'integer'},
#                        {'name': 'col2', 'type': 'string'}],
#             'pandas_version': '0.20.0',
#             'primaryKey': ['index']}}

到了這里,關(guān)于55_Pandas.DataFrame 轉(zhuǎn)換為 JSON 字符串/文件并保存 (to_json)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Pandas中的字符串和時間轉(zhuǎn)換與格式化

    Pandas 提供了若干個函數(shù)來格式化時間。 其中,最常用的是 to_datetime() 函數(shù)。 可以使用 to_datetime() 函數(shù)將一個字符串解析為時間,并指定字符串的格式。例如: 輸出: 還可以使用 strftime() 函數(shù)將時間格式化為字符串。例如: 輸出: 如果想要格式化某一列中的時間,可以使用

    2024年02月04日
    瀏覽(25)
  • Java中如何將字符串轉(zhuǎn)換為JSON格式字符串

    Java中如何將字符串轉(zhuǎn)換為JSON格式字符串 在Java編程中,我們經(jīng)常需要處理JSON數(shù)據(jù)格式。有時候,我們需要將一個普通的字符串轉(zhuǎn)換為JSON格式的字符串。幸運的是,Java提供了多種方法來實現(xiàn)這個目標。在本文中,我將介紹兩種常見的方法來將字符串轉(zhuǎn)換為JSON格式字符串。 方

    2024年02月06日
    瀏覽(26)
  • Json對象和Json字符串之間相互轉(zhuǎn)換

    Json對象和Json字符串之間相互轉(zhuǎn)換

    作為前端開發(fā),在和后端進行聯(lián)調(diào)接口時,總會遇到要求傳JSON字符串或是JSON對象,或者是返回值里是JSON字符串要在頁面上展示JSON對象這種情況,都需要前端開發(fā)人員對Json對象和Json對象進行相互轉(zhuǎn)換,得到想要的結(jié)果。 廢話不多說,直接上干貨: 1.首先定義一個Json對象:

    2024年02月11日
    瀏覽(34)
  • Python 字符串轉(zhuǎn)換為 JSON

    Python 字符串轉(zhuǎn)換為 JSON JSON(JavaScript Object Notation)是一種常用的數(shù)據(jù)交換格式,它以文本形式表示結(jié)構(gòu)化的數(shù)據(jù),并且易于閱讀和編寫。在Python中,可以使用內(nèi)置的json模塊來將字符串轉(zhuǎn)換為JSON格式。本文將介紹如何將Python字符串轉(zhuǎn)換為JSON,并提供相應(yīng)的源代碼示例。 首先

    2024年02月06日
    瀏覽(32)
  • 52_Pandas處理日期和時間列(字符串轉(zhuǎn)換、日期提取等)

    將解釋如何操作表示 pandas.DataFrame 的日期和時間(日期和時間)的列。字符串與 datetime64[ns] 類型的相互轉(zhuǎn)換,將日期和時間提取為數(shù)字的方法等。 以下內(nèi)容進行說明。 如何將 datetime64[ns] 類型指定為索引并將其處理為時序數(shù)據(jù)以及如何使用,請參考以下文章。 26_Pandas.DataFr

    2024年01月22日
    瀏覽(24)
  • java將json字符串轉(zhuǎn)換成json數(shù)組

    java將json字符串轉(zhuǎn)換成json數(shù)組

    有些時候我們需要將json字符串轉(zhuǎn)換成數(shù)組,并且只取一些屬性值進行下一個方法的賦值,這樣就涉及到了json字符串的轉(zhuǎn)換了, json字符串有兩種形式,一種是以{A,B,C},一種是[{A},{B},{C}]。但是很多時候是這兩種的結(jié)合。 首先導(dǎo)入jar包 如果是第一種只需要加入以下代碼,注意

    2024年02月11日
    瀏覽(27)
  • 將json字符串與實體類互相轉(zhuǎn)換

    如果我們接收到的是一個json字符串,我們該如何對該字符串進行解析? 方式一:使用實體類進行解析 方式二:使用map進行解析 使用的依賴jar包: fastjson 使用實體類進行解析 創(chuàng)建一個用于接收的實體類:使用json字符串中的那些字段,實體類的屬性值一定要和JSON串中的 key

    2024年02月09日
    瀏覽(23)
  • 將對象轉(zhuǎn)換為JSON字符串,即手寫JSON.stringify

    分析: Date將轉(zhuǎn)為string undefined、Symbol會直接過濾掉,但如果是數(shù)組項是undefined、Symbol、Function,那么則返回null 正則RegExp會返回空對象{} NaN、Function、null會返回null,但是呢,function會被過濾掉 Infinity會轉(zhuǎn)為null 如果是數(shù)組的話,返回的是數(shù)組的序列化 string返回原始值 number、b

    2024年02月11日
    瀏覽(28)
  • java對象與Json字符串的相互轉(zhuǎn)換

    文章目錄 1.Json對象轉(zhuǎn)換為java 對象 2. Java對象轉(zhuǎn)換JSON 1.Json對象轉(zhuǎn)換為java 對象 導(dǎo)入jackson的相關(guān)jar包 創(chuàng)建Jackson核心對象 ObjectMapper 調(diào)用ObjectMapper的相關(guān)方法進行轉(zhuǎn)換 2. Java對象轉(zhuǎn)換JSON 常見的解析器:Jsonlib,Gson,fastjson,jackson 1.導(dǎo)入jackson的相關(guān)jar包 2.創(chuàng)建Jackson核心對象 Obj

    2024年02月09日
    瀏覽(31)
  • 微信小程序開發(fā)——json對象和字符串轉(zhuǎn)換

    微信小程序開發(fā)——json對象和字符串轉(zhuǎn)換

    JSON對象和字符串的互轉(zhuǎn) 注意事項 1、JSON操作時一定要保證是JSON格式的字符串,或?qū)ο蟆?報錯如下: 原代碼 1)JSON對象轉(zhuǎn)字符串 2)JSON字符串轉(zhuǎn)對象 解決:JSON字符串轉(zhuǎn)對象時,字符串值應(yīng)該是 跳轉(zhuǎn)設(shè)置是:“…?item=”+jsonstr,即字符參數(shù)是 item ,所以轉(zhuǎn)換時要取值 options

    2024年02月11日
    瀏覽(40)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包