亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python如何讀寫csv xml json文件

發布時間:2021-08-12 10:39:28 來源:億速云 閱讀:157 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關python如何讀寫csv xml json文件,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

CSV 數據

CSV文件是存儲數據的最常見方式,你會發現,Kaggle競賽中的大多數數據都是以這種方式存儲的。 我們可以使用Python內置的csv庫讀寫CSV文件,通常,我們將數據讀入一個列表中,列表中每個元素又是一個列表,代表一行數據。

觀察下面的代碼,當我們運行 csv.reader() 時,就可以訪問到我們指定的CSV數據文件。 而 csvreader.next() 函數的作用是從CSV中讀取一行,每次調用它,它都會移動到下一行。 我們還可以通過 for row in csvreader 使用for循環遍歷csv的每一行。 另外,最好確保每一行的列數相同,否則,在處理列表時可能會遇到一些錯誤。

import csv filename = "my_data.csv" fields = [] rows = [] # 讀取csv文件 with open(filename, 'r') as csvfile: # 創建一個csv reader對象 csvreader = csv.reader(csvfile) # 從文件中第一行中讀取屬性名稱信息 # fields = next(csvreader) python3.2 以上的版本使用 fields = csvreader.next() # 接著一行一行讀取數據 for row in csvreader: rows.append(row) # 打印前5行信息 for row in rows[:5]: print(row)

在Python將數據寫入CSV也很容易,在一個單獨的列表中設置屬性名稱,并將要寫入的數據存儲在一個列表中。 這一次,我們將創建一個 writer() 對象,并使用它將數據寫入文件,這與我們讀取數據的方式非常相似。

import csv # 屬性名稱 fields = ['Name', 'Goals', 'Assists', 'Shots'] # csv文件中每一行的數據,一行為一個列表 rows = [ ['Emily', '12', '18', '112'], ['Katie', '8', '24', '96'], ['John', '16', '9', '101'], ['Mike', '3', '14', '82']] filename = "soccer.csv" # 將數據寫入到csv文件中 with open(filename, 'w+') as csvfile: # 創建一個csv writer對象 csvwriter = csv.writer(csvfile) # 寫入屬性名稱 csvwriter.writerow(fields) # 寫入數據 csvwriter.writerows(rows)

當然,使用強大的pandas庫將會使處理數據變得容易很多,從CSV讀取和寫入文件都只需要一行代碼!

import pandas as pd filename = "my_data.csv" # 讀取csv文件數據 data = pd.read_csv(filename) # 打印前5行 print(data.head(5)) # 將數據寫入到csv文件中 data.to_csv("new_data.csv", sep=",", index=False)

我們甚至可以使用pandas通過一行代碼快速將CSV轉換為字典列表。 轉換為字典列表之后,我們可以使用 dicttoxml 庫將其轉換為XML格式,我們還可以將它保存為JSON文件!

import pandas as pd from dicttoxml import dicttoxml import json # 創建一個DataFrame data = {'Name': ['Emily', 'Katie', 'John', 'Mike'], 'Goals': [12, 8, 16, 3], 'Assists': [18, 24, 9, 14], 'Shots': [112, 96, 101, 82] } df = pd.DataFrame(data, columns=data.keys()) # 將DataFrame轉化為一個字典并且將它存儲到json文件中 data_dict = df.to_dict(orient="records") with open('output.json', "w+") as f: json.dump(data_dict, f, indent=4) # 將DataFrame轉化為一個字典并且將它存儲到xml文件中 xml_data = dicttoxml(data_dict).decode() with open("output.xml", "w+") as f: f.write(xml_data)

JSON數據

JSON提供了一種干凈且易于閱讀的格式,因為它維護了一個字典風格的結構。 就像CSV一樣,Python有一個內置的json模塊,使讀寫變得超級容易! 從上面的例子可以看到當我們讀取CSV時,可以將數據以字典的形式存儲,然后再將字典寫入文件。

import json import pandas as pd # 使用json模塊從json文件中讀取數據 # 以字典形式存儲 with open('data.json') as f: data_listofdict = json.load(f) # 也可以直接使用pandas直接讀取json文件 data_df = pd.read_json('data.json', orient='records') # 將字典數據保存為json文件 # 并使用 'indent' and 'sort_keys' 格式化json文件 with open('new_data.json', 'w+') as json_file: json.dump(data_listofdict, json_file, indent=4, sort_keys=True) # 也可以使用pandas將字典結構的數據保存為json文件 export = data_df.to_json('new_data.json', orient='records')

正如我們之前看到的,我們可以通過pandas或者使用Python的內置csv模塊輕松地將我們的數據存儲為CSV文件,而在轉化為成XML時,我們使用的是 dicttoxml 庫。

import json import pandas as pd import csv # 從json文件中讀取數據 # 數據存儲在一個字典列表中 with open('data.json') as f: data_listofdict = json.load(f) # 以列表中的字典寫入倒csv文件中 keys = data_listofdict[0].keys() with open('saved_data.csv', 'w') as output_file: dict_writer = csv.DictWriter(output_file, keys) dict_writer.writeheader() dict_writer.writerows(data_listofdict)

XML數據

XML有點不同于CSV和JSON。 通常,CSV和JSON由于其簡單性而被廣泛使用。 它們讀、寫和解釋起來既簡單又快捷,不需要額外的工作,而且解析JSON或CSV是非常輕量級的。

另一方面,XML往往數據量要大一些。 你如果正在發送更多的數據,這意味著你需要更多的帶寬、更多的存儲空間和更多的運行時間。 但是與JSON和CSV相比,XML確實具有一些額外的特性: 你可以使用名稱空間來構建和共享標準結構、更好的繼承表示,以及用XML schema、DTD等表示數據的行業標準化方法。

要讀取XML數據,我們將使用Python內置的XML模塊的子模塊ElementTree。 這里,我們可以使用 xmltodict 庫將ElementTree對象轉換為字典。 一旦有了字典,我們就可以像上面一樣將字典換轉換為CSV、JSON或pandas的 DataFrame !

import xml.etree.ElementTree as ET import xmltodict import json tree = ET.parse('output.xml') xml_data = tree.getroot() xmlstr = ET.tostring(xml_data, encoding='utf8', method='xml') data_dict = dict(xmltodict.parse(xmlstr)) print(data_dict) with open('new_data_2.json', 'w+') as json_file: json.dump(data_dict, json_file, indent=4, sort_keys=True)

關于“python如何讀寫csv xml json文件”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

永和县| 北碚区| 白城市| 丹阳市| 隆昌县| 广饶县| 棋牌| 临武县| 岳阳县| 和平区| 横山县| 正阳县| 尖扎县| 琼海市| 宽甸| 禹州市| 通海县| 资溪县| 汝南县| 姚安县| 宁陕县| 宜兰县| 健康| 英吉沙县| 乌鲁木齐县| 清水县| 苍溪县| 河池市| 无棣县| 五原县| 横山县| 新田县| 阿拉善右旗| 柘城县| 明星| 宜章县| 容城县| 张家界市| 霸州市| 分宜县| 宁强县|