json寫入到csv文件(python 將json導出成csv)

本文目錄一覽:

如何將json的數據轉化成csv的數據格式

由於工作需要,經常需要將mysql資料庫中的數據導出到excel表格,或者需要將excel表格數據導入到mysql資料庫,我的方法是先將它們都轉換成一種中間數據格式csv(execl數據可以直接導出為csv格式,csv格式也可以直接用excel打開)。

如何用原生JS來把JSON數據處理成CSV格式

json轉csv的前提是,你的數據是jsonarray,而且只有比較特殊的數據可以在json和csv之間轉換,請轉換之前判斷數據是否可以轉換。

思路是,遍歷array里所有數據,將每條數據設置成一個jsonobject,如果拋出一場則條過這條數據continue到下一條。然後遍歷jsonobject的所有屬性,將每個屬性的值用逗號分割拼成字元串,所有屬性遍歷完畢後,判斷如果當前這條不是array的最後一條,則在字元串最後加上一個’\r’,否則不加。最終會拼成csv字元串。

JMeter斷言之JSON斷言

若伺服器返回的Response Body為JSON格式的數據,使用JSON斷言來判斷測試結果是較好的選擇。

首先需要根據JSON Path從返回的JSON數據中提取需要判斷的實際結果,再設置預期結果,兩者進行比較得出斷言結果。

下面首先介紹JSON與JSON Path相關的基礎知識。

▲ 什麼是JSON

● JSON(JavaScript Object Notation,JavaScript對象表示法)是一種輕量級的數據交換格式。

● JSON容易理解,便於閱讀和編寫;同時計算機也易於解析和生成,所以JSON有廣泛的應用。

JSON基於如下兩種結構:

1.名稱/值對的集合

在各種語言中,這可以作為對象(object)、記錄(record)、結構(struct)、字典(dictionary)、哈希表(hash table)、鍵控列表(keyed list)或關聯數組(associative array)來實現。

2.值的有序列表

在大多數語言中,這是以數組(array)、向量(vector)、列表(list)或序列(sequence)的形式實現的。

JSON用於描述文本數據結構,有如下形式:

1.對象(object)

對象是一組無序的名稱/值對。對象以{(左大括弧)開始,以}(右大括弧)結束。每個名稱後面跟著:冒號,名稱/值對之間用逗號分隔。

比如:

2.數組(Array)

數組是值的有序集合。數組以[(左中括弧)開始,以](右中括弧)結束。值之間用逗號分隔。

比如:

3.值(value)

值可以是字元串、數字、true/false、null、對象或數組。

4.字元串(string)

字元串是由零個或多個Unicode字元組成的序列,用雙引號括起來,使用反斜杠轉義。

字元表示為單個字元串。字元串非常類似於C或Java中的字元串。

5.數字(number)

一系列0-9的數字組合,可以為負數或者小數。還可以用e或者E表示為指數形式;數字非常類似於C或Java數字,但只是不使用八進位和十六進位格式。

6.空白符(whitespace)

可以在任意成對的語法符號之間插入空白符(包括空格、換行符、回車符、橫向製表符)。

▲ 什麼是JSONPath

我們經常使用XPath來分析、轉換以及有選擇地從XML文檔中提取數據。與XPath類似,JOSNPath可以方便從JSON結構中發現和提取數據。

JSONPath中的「根成員對象」總是被稱為$,無論它是對象還是數組。JSONPath表達式有「dot–notation」(.號)和「bracket–notation」([]號)兩種不同的表示風格。

例如,

▲ JSONPath語法元素

▲ JSONPath實例

JSON斷言可以對伺服器返回的JSON文檔進行驗證。

JSON斷言有兩種使用模式:

1.根據JSONPath能否在JSON文檔中找到路徑;

2.根據JSONPath提取值並對值進行驗證。

● 若文檔格式為非JSON則斷言失敗;

● 若找不到路徑斷言失敗;

● 若提取值與預期值不一致斷言失敗。

▲ 配置項

Assert JSON Path exists:

用於斷言的JSON元素的路徑(JSONPath)。

1.Additionally assert value

是否額外驗證根據JSONPath提取的值。

● 不勾選,驗證JSONPath能否在JSON文檔中找到路徑;

● 勾選,驗證根據JSONPath提取值是否預期。

2.Match as regular expression

預期值是否可以使用正則表達式。

● 不勾選,預期值不能使用正則表達式表示;

● 勾選,預期值可以使用正則表達式表示。

Expected Value:

預期值。

1.Expect null

● 若驗證提取的值為null,則勾選此項。

這裡有兩個地方需要額外注意:

a.驗證null值,還是需要勾選「Additionally assert value」,否則驗證的是JSONPath能否找到路徑;

b.預期值不填表示空字元,與null不等價。

2.Invert assertion(will fail if above conditions met)

● 若勾選,表示對斷言結果取反。

注意:

除了null外,還有一種特殊的值,就是空數組,預期值不能不填,需要設置為:[]

這裡仍以前面介紹過的查詢被購買商品的總金額介面為例來講述JSON斷言的用法。

該介面返回的響應數據為JSON,故可以使用JSON斷言。

▲ 操作步驟

1.對預期結果要驗證的項進行參數化

這裡驗證err_msg,result

將預期結果寫入csv文件中

比如:

2.添加JSON Assertion並進行配置

JSON斷言每次只能斷言一個參數,因此這裡需要添加多個JSON斷言。

假設對錯誤消息與商品金額這個兩個返回參數值做斷言。

▲ JSON斷言配置

1. 斷言錯誤消息:

2. 斷言商品金額:

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/270353.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-16 13:36
下一篇 2024-12-16 13:36

相關推薦

  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • 蝴蝶優化演算法Python版

    蝴蝶優化演算法是一種基於仿生學的優化演算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化演算法Python版…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智慧、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29

發表回復

登錄後才能評論