Python文件讀寫操作,數據存儲必備技能

Python語言因其簡潔、易讀易寫而備受青睞。對於數據科學家及工程師而言,Python在數據存儲及處理方面擁有著強大的能力。因此,Python的文件讀寫操作也是數據科學家必須掌握的技能之一。在本文中,我們將從以下幾個方面介紹Python文件讀寫操作及代表性數據存儲方式:

一、文件讀寫概述

文件讀寫是日常開發工作中的一個重要部分。Python內置的open()函數可以打開一個文件,而利用Python的write()方法和read()方法則可以對該文件進行寫入和讀取操作。

下面的示例演示了如何打開一個文件:

file = open("test.txt", "r")

我們可以使用不同的參數實現不同的方式來打開文件:

  • “r”:以只讀方式打開文件。
  • “w”:以寫入方式打開文件,如果文件存在,則會清空該文件原有內容。
  • “a”:以追加模式打開文件,不存在則會創建一個新文件。
  • “b”:以二進位模式打開文件,文件類型通常用於非文本文件,如圖像、音頻等。

下面的示例演示了如何以寫入模式打開文件並向其中寫入數據:

file = open("test.txt", "w")
file.write("Hello World!")

執行完畢後,我們可以打開該文件並查看其中的內容。

二、CSV文件讀寫操作

CSV(Comma-Separated Value)文件是一種常見的電子表格數據格式,它以逗號分隔行中的數據。Python自帶的csv包可用於讀寫CSV文件。

下面的示例演示了如何利用csv包讀取CSV文件並輸出其中的內容:

import csv

with open('test.csv') as csvfile:
    readCSV = csv.reader(csvfile, delimiter=',')
    
    for row in readCSV:
        print(row)

上述代碼使用了Python的with語句,這個語句會自動調用文件的close()方法來關閉文件。在這個示例中,代碼會以以逗號為強制分隔符將文件內容讀取為一組列表。然後通過迭代這些列表將文件的內容輸出到控制台。

另外,如果我們需要將數據寫入CSV文件,我們需要使用csv.writer()方法。下面的示例演示了如何利用csv.writer()方法將數據寫入CSV文件:

import csv

with open('test.csv', mode='w', newline='') as csvfile:
    writeCSV = csv.writer(csvfile, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
    
    writeCSV.writerow(["John Smith", "Accounting", "November"])
    writeCSV.writerow(["Erica Meyers", "IT", "March"])

在這個示例中,我們在逗號分隔值文件中寫入了兩行數據,並且設置了Python的quotechar參數以在數據中包含引號。

三、JSON文件讀寫操作

JSON(JavaScript Object Notation)是一種常見的數據交換格式,其出於具有輕量級、易讀性以及易於編寫的特點。Python的json包可用於讀寫JSON文件。

下面的示例演示了如何利用json包讀取JSON文件並輸出其中的內容:

import json

with open('test.json') as jsonFile:
    jsonData = json.load(jsonFile)
    
    for item in jsonData:
        print(item)

在這個示例中,我們使用json.load()函數將JSON文件轉換為Python對象。由於JSON文件可能包含嵌套結構,因此可以通過迭代對象的方式來輸出JSON文件中的內容。

如果需要將數據寫入JSON文件,我們可以使用json.dump()方法。下面的示例演示了如何利用json.dump()方法將Python對象寫入到JSON文件中:

import json

data = {
    "name" : "John",
    "age" : 30,
    "city" : "New York"
}

with open('test.json', 'w') as jsonFile:
    json.dump(data, jsonFile)

在這個示例中,我們定義了一個Python對象並將其保存到JSON文件中。注意,在使用json.dump()方法時,我們必須指定文件的編碼方式,以確保寫入正確的編碼。

四、SQLite資料庫讀寫操作

SQLite是一種輕量級的關係型資料庫管理系統。Python的sqlite3包可用於在Python中操作SQLite資料庫。

下面的示例演示了如何連接到SQLite資料庫及創建表:

import sqlite3

connection = sqlite3.connect('test.db')

cursor = connection.cursor()

cursor.execute('CREATE TABLE employees (id integer, name text, salary real, department text, position text)')

在這個示例中,我們使用sqlite3.connect()函數連接到指定的SQLite資料庫。然後,我們使用cursor對象執行SQL語句以創建一個新表。

如果需要在資料庫中插入數據,我們可以使用cursor.execute()方法或cursor.executemany()方法。下面的示例演示了如何使用cursor.execute()方法將數據插入到表中:

cursor.execute("INSERT INTO employees VALUES (1, 'John', 10000, 'IT', 'Manager')")
cursor.execute("INSERT INTO employees VALUES (2, 'Jane', 20000, 'HR', 'Manager')")

在這個示例中,我們將兩條數據分別插入到employees表中。由於SQLite是支持事務的,因此插入大量數據時應使用這個特性來增加處理速度。

如果需要從資料庫中讀取數據,我們可以使用游標(cursor)對象。下面的示例演示了如何使用游標(cursor)對象讀取表中的數據:

cursor.execute("SELECT * FROM employees")

rows = cursor.fetchall()

for row in rows:
    print(row)

在這個示例中,我們通過SQL語句將表中的數據讀取到SQLite的數據類型中,並通過Python迭代這些數據以輸出到控制台。

五、總結

在Python中,文件讀寫及常見的數據存儲方式是任何Python開發人員必須掌握的技能之一。利用Python自帶的函數和包,文件及數據讀寫變得更加便捷、高效。掌握這些技能可以讓工程師更快地處理大量數據、更加高效地完成相關任務。

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

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-04 19:30
下一篇 2025-01-04 19:30

相關推薦

發表回復

登錄後才能評論