第四十二回 假李逵翦徑劫單身 黑旋風沂嶺殺四虎-python讀寫csv和json數據

李逵答應了宋江三件事:不可吃酒,獨自前行,不帶板斧。李逵痛快答應了,挎一口腰刀,提著樸刀,帶了一錠大銀子,三五個小銀子就下山去了。

宋江放心不下,于是請同鄉朱貴也回家一趟,好打探李逵的信息。朱貴到了沂水縣西門外,見李逵站在通緝宋江、戴宗和李逵的榜單前面,趕快把李逵給拉走了。

李逵和朱貴在朱富的店里吃飯休息,五更天,李逵出發。朱貴建議他走大路,李逵說“我怕甚鳥”,于是走了小路。

李逵碰到了假李逵劫道,剛開始發善心放了他。結果后來發現他撒謊且還想害李逵,被李逵把他殺掉,房子也燒了。

李逵背著娘回梁山,還是走的深山僻靜小路,半路老娘口渴,李逵打水回來,發現老娘已經被老虎吃了。李逵氣的把一窩老虎四只全殺了。獵戶們見李逵殺死了四只老虎,都很高興,請李逵到曹太公莊上喝酒。

李逵一人殺四虎,跟武松打虎相比,得益于有好武器的加持。python里有專門的csv和json處理模塊,可以極大提高數據處理的效率。

python讀寫csv和json數據

python讀寫csv數據

在Python中,讀寫CSV(Comma Separated Values)數據通常使用內置的csv模塊。以下是一個簡單的例子,展示了如何使用csv模塊來讀取和寫入CSV文件。 首先,假設我們有一個名為example.csv的文件,內容如下:

name,age,city
Alice,28,New York
Bob,22,Los Angeles
Charlie,30,Chicago

讀取CSV文件

import csv  # 打開CSV文件并讀取內容  
with open('example.csv', mode='r', newline='') as file:  reader = csv.reader(file)  # 遍歷CSV文件的每一行  for row in reader:  print(row)  # 打印每一行的內容,作為列表  # 輸出:  
# ['name', 'age', 'city']  
# ['Alice', '28', 'New York']  
# ['Bob', '22', 'Los Angeles']  
# ['Charlie', '30', 'Chicago']

寫csv文件

import csv  # 定義要寫入的數據  
data = [  ['name', 'age', 'city'],  ['Alice', '28', 'New York'],  ['Bob', '22', 'Los Angeles'],  ['Charlie', '30', 'Chicago']  
]  # 打開(或創建)一個CSV文件并寫入數據  
with open('output.csv', mode='w', newline='') as file:  writer = csv.writer(file)  # 寫入CSV文件的每一行  for row in data:  writer.writerow(row)  # 現在,'output.csv' 文件包含了和上面例子中一樣的數據

在上面的例子中,csv.reader用于讀取CSV文件,而csv.writer用于將數據寫入CSV文件。open函數用于打開文件,并指定模式('r'用于讀取,'w'用于寫入)。newline=''參數在寫入時非常有用,它確保了在不同的操作系統上都能正確地寫入行。

csv.reader返回的是一個迭代器,它會產生CSV文件的每一行,每一行都是一個字符串列表。而csv.writer的writerow方法則用于將一個列表作為一行寫入CSV文件。

記住,CSV文件只是一個簡單的文本文件,其中的數據由逗號分隔。你可以使用任何文本編輯器來查看或編輯它。同時,csv模塊也支持其他分隔符,如制表符,你可以通過傳遞delimiter參數來指定。

 

Python讀寫JSON數據

?

JSON,全稱JavaScript Object Notation,是一種輕量級的數據交換格式,易于閱讀和編寫。雖然它最初是為JavaScript設計的,但由于其簡單性和普遍性,它已經被許多其他編程語言廣泛采用,包括Python。在Python中,json模塊使得處理JSON數據變得非常簡單。

?

JSON數據結構

?

JSON主要支持兩種數據結構,對象和數組,在python中對應字典和列表,比如:

對象、字典(dict):這是一種無序的鍵值對集合使用大括號,格式如下:

??? {? "name": "Zhangsan", ?

?? ? ?? "age": 30, ?

?? ? ?? "city": "New York"? }

?

數組、列表:這是一個有序的值列表,使用方括號[]表示:

[ "apple", ?

??"banana", ?

??"cherry"? ]

?

編解碼

編碼:Python對象到JSON

?

使用json.dumps()函數,可以將Python對象(如字典或列表)轉換為JSON格式的字符串。

?

解碼:JSON到Python對象

?

使用json.loads()函數,可以將JSON格式的字符串轉換為Python對象(如字典或列表)

python處理json舉例

import json
json_string = '{"name": "Zhangsan", "age": 30, "city": "Jining"}'  # 使用json.loads()函數來解析這個json字符串  
json_data = json.loads(json_string)  
# 使用json.dumps()函數來將pyhton對象轉回json字符串  
json_data_string = json.dumps(json_data)# 觀察每一步的數據類型,可以發現對json_string先解析再dump,最終得到的字符串跟原字符串相等。
print("json編碼的原字符串:", type(json_string), json_string)
print("json解析后:", type(json_data), json_data)
print("json轉換回原字符串:", type(json_data_string), json_data_string)
print("json解析再轉回原json字符串:", json_string == json_data_string)

json文件讀取


json模塊還可以直接從文件讀取JSON數據或將JSON數據寫入文件。

# 寫到文件
with open('data.json', 'w') as f:json.dump(json_data, f)# 打開并讀取JSON文件  
with open('data.json', 'r') as f:  readjsondata = json.load(f)  # 現在,`readjsondata`變量包含了JSON文件中的數據,可以像操作Python字典一樣操作它  
print(type(readjsondata), readjsondata)

眾人都來看虎,那假李逵的老婆正好也在,于是告知了曹太公和里正,大家決定一邊勸醉李逵,一邊上報縣里。

縣里派了都頭李云來拿李逵,李云是朱富的師傅。返回縣里的時候,朱富和朱貴用蒙汗藥迷倒了他們,李逵把除李云外的人都殺了,然后李逵和朱富在路邊等李云來。

欲知后事如何,且聽下回分解。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/697524.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/697524.shtml
英文地址,請注明出處:http://en.pswp.cn/news/697524.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

arcgisPro制圖輸出

1、設置地圖底圖 2、導入數據 3、 設置圖形顏色,如下:右鍵“浙江省”數據層,選擇符號系統 4、在右側可看到打開的符號系統欄,進行如下設置: 5、移除“其他所有值”項,如下: 6、設置圖形輪廓,如下…

【MATLAB】CEEMD_ MFE_SVM_LSTM 神經網絡時序預測算法

有意向獲取代碼,請轉文末觀看代碼獲取方式~也可轉原文鏈接獲取~ 1 基本定義 CEEMD_MFE_SVM_LSTM神經網絡時序預測算法是一種結合了多種先進技術的復雜預測方法,旨在提高時序預測的準確性和穩定性。下面是對該算法的詳細介紹: CEEMD&#xff…

ES項目應用

配置: ES存儲了2-3億條,幾百GB ES集群有5 個節點 2主2副 ES返回數據量窗口大小設置 index.max_result_window 深度翻頁 1.from size 方式 2.scroll相當于維護了一份當前索引段的快照信息,這個快照信息是你執行這個scroll查詢時的快照。在這個查詢后的任…

kali虛擬機橋接模式快速設置

第一步:選擇 虛擬機 > 設置 > 虛擬機設置,設置橋接模式 不選擇復制物理網絡連接狀態選項: 如果采用DHCP的方式來分配IP地址,當電腦網絡從有線或無線網絡之間進行移動時,DHCP會重新分配ip地址,即虛擬機…

泰迪智能科技大模型數據智能實驗室

自2022年11月ChatGPT問世以來,大模型開始備受關注,科技巨頭們紛紛推出大模型實驗室解決方案。大模型的價值不知在于互聯網場景,而在于大模型能力垂直化,能夠與具體的業務需求深度融合。 大模型實驗室是在學校現有的實驗室建設基礎…

leetcode hot100 買賣股票的最佳時機1

本題之前采用貪心算法來解決,現在可以采用動態規劃來解決,通過dp數組記錄每次的狀態從而獲取到最大的利潤。 這里dp數組定義為二維數組 dp[price.length][2],其中price.length表示第i天,[2]其中有0/1兩種狀態,[0]表示…

六、回歸與聚類算法 - 欠擬合和過擬合

目錄 1、定義 2、原因及解決方法 2.1 正則化 線性回歸欠擬合與過擬合線性回歸的改進 - 嶺回歸分類算法:邏輯回歸模型保存與加載無監督學習:K-means算法 1、定義 2、原因及解決方法 2.1 正則化

電路設計(26)——速度表的multisim仿真

1.設計要求 設計一款電路,能夠實時顯示當前速度。 用輸入信號模擬行駛的汽車,信號頻率的1hz代表汽車速度的1m/s。最后速度顯示,以km/h為單位。 2.電路設計 當輸入信號頻率為40HZ時,顯示的速度應該為144KM/h,仿真結果為…

HTTP基本概念-HTTP 常見的狀態碼有哪些?

資料來源 : 小林coding 小林官方網站 : 小林coding (xiaolincoding.com) HTTP 常見的狀態碼有哪些? 1xx 類狀態碼屬于提示信息,是協議處理中的一種中間狀態,實際用到的比較少。 2xx 類狀態碼表示服務器成功處理了客戶端的請求,也是我們最愿…

第一個 Angular 項目 - 添加服務

第一個 Angular 項目 - 添加服務 這里主要用到的內容就是 [Angular 基礎] - service 服務 提到的 前置項目在 第一個 Angular 項目 - 動態頁面 這里查看 想要實現的功能是簡化 shopping-list 和 recipe 之間的跨組件交流 回顧一下項目的結構: ? tree src/app/…

[概念區分] 正則表達式與正則化

正則表達式與正則化 機器學習在計算機科學和數據處理領域,關于“正則”的兩個術語:正則表達式和正則化,雖然它們在名稱上非常相似,但實際上它們是完全不同的概念。 正則表達式 也被稱為 regex,是一種強大的工具&…

Linux freezer機制

一、概述 系統進入suspended或進程被加入到cgroup凍結或解凍分組,用戶進程和部分內核線程被凍結后,會剝奪執行cpu資源,解凍或喚醒后恢復正常。 二、進程凍結與解凍原理 2.1 進程凍結 用戶進程和內核線程凍結的基本流程: 內核態…

設計模式-建造者模式(Builder Pattern)

一、建造者模式說明 建造者模式(Builder Pattern)是一種創建型設計模式,它的主要目的是將一個復雜對象的構建過程與其表示分離,使得同樣的構建過程可以創建不同的表示。 在建造者模式中,通常涉及以下幾個角色&#xf…

多業務場景下對于redis分布式鎖的一些思考

現在讓你寫一個Redis分布式鎖 大概率你會先寫一個框架 public Boolean setIfAbsent(String key, Object value,Long timeout) {try {return Boolean.TRUE.equals(objectRedisTemplate.opsForValue().setIfAbsent(key, value,timeout,TimeUnit.SECONDS));} catch (Exception e) …

2024開年,手機廠商革了自己的命

文|劉俊宏 編|王一粟 2024開年,AI終端的號角已經由手機行業吹響。 OPPO春節期間就沒閑著,首席產品官劉作虎在大年三十就迫不及待地宣布,OPPO正式進入AI手機時代。隨后在開年后就緊急召開了AI戰略發布會,…

【Antd】Form 表單獲取不到 Input 的值

文章目錄 今天遇到了一個奇怪的bug,Form表單中的Input組件的值,不能被Form獲取,導致輸入了內容,但是表單提交的時候值為undefined 報錯代碼 import { Button, Form, Input } from antd; import React from react;const App: Rea…

GaussDB SQL調優:建立合適的索引

背景 GaussDB是華為公司傾力打造的自研企業級分布式關系型數據庫,該產品具備企業級復雜事務混合負載能力,同時支持優異的分布式事務,同城跨AZ部署,數據0丟失,支持1000擴展能力,PB級海量存儲等企業級數據庫…

SQL中為什么不要使用1=1

最近看幾個老項目的SQL條件中使用了11,想想自己也曾經這樣寫過,略有感觸,特別拿出來說道說道。 編寫SQL語句就像炒菜,每一種調料的使用都可能會影響菜品的最終味道,每一個SQL條件的加入也可能會影響查詢的執行效率。那…

昨天Google發布了最新的開源模型Gemma,今天我來體驗一下

前言 看看以前寫的文章,業余搞人工智能還是很早之前的事情了,之前為了高工資,一直想從事人工智能相關的工作都沒有實現。現在終于可以安靜地系統地學習一下了。也是一邊學習一邊寫博客記錄吧。 昨天Google發布了最新的開源模型Gemma&#xf…

電商數據采集的幾個標準

面對體量巨大的電商數據,很多品牌會選擇對自己有用的數據進行分析,比如在控價過程中,需要對商品的價格數據進行監測,或者是需要做數據分析時,則需要采集到商品的價格、銷量、評價量、標題、店鋪名等信息,數…