文件存儲

文件存儲

TXT文本存儲

返回目錄json

文件打開模式

打開模式 詳細說明。
r 以只讀方式打開文件。文件的指針將會放在文件的開頭。這是默認模式。
rb 以二進制只讀方式打開一個文件。文件指針將會放在文件的開頭。
r+ 以讀寫方式打開一個文件。文件指針將會放在文件的開頭。
rb+ 以二進制讀寫方式打開一個文件。文件指針將會放在文件的開頭。
w 以寫入方式打開一個文件。若是該文件已存在,則將其覆蓋。若是該文件不存在,則建立新文件。
wb 以二進制寫入方式打開一個文件。若是該文件已存在,則將其覆蓋。若是該文件不存在,則建立新文件。
w+ 以讀寫方式打開一個文件。若是該文件已存在,則將其覆蓋。若是該文件不存在,則建立新文件。
wb+ 以二進制讀寫格式打開一個文件。若是該文件已存在,則將其覆蓋。若是該文件不存在,則建立新文件。
a 以追加方式打開一個文件。若是該文件已存在,文件指針將會放在文件結尾。也就是說,新的內容將會被寫入到已有內容以後。若是該文件不存在,則建立新文件來寫入。
ab 以二進制追加方式打開一個文件。若是該文件已存在,則文件指針將會放在文件結尾。也就是說,新的內容將會被寫入到已有內容以後。若是該文件不存在,則建立新文件來寫入。
a+ 以讀寫方式打開一個文件。若是該文件已存在,文件指針將會放在文件的結尾。文件打開時會是追加模式。若是該文件不存在,則建立新文件來讀寫。
ab+ 以二進制追加方式打開一個文件。若是該文件已存在,則文件指針將會放在文件結尾。若是該文件不存在,則建立新文件用於讀寫。

JSON文件存儲

返回目錄數組

JavaScript對象標記,經過對象和數組的組合來表示數據,輕量級的數據交換格式編碼

對象和數組構成的json形式

  • 對象:用花括號{}包裹起來的鍵值對,鍵是字符串,值能夠是任意類型指針

  • 數組:方括號[]包裹起來的內容,值的類型能夠是任意類型code

  • JSON能夠由以上兩種形式自由組合而成,能夠無限次嵌套對象

  • 字符串必須使用雙引號ip

讀寫操做

  • loads()方法將JSON形式的文本字符串轉爲python對象
import json

strs = '''
[1, "23", 
    {   "1": "wy",
        "we": "wss",
        "3": [1, "wsd", 3]
    }
]
'''

data = json.loads(str)
  • dumps()方法將python對象轉爲json形式文本字符串
import json

data = [1, '23', {'1': ('wy', 'dsv', 2), 'we': '大王', '3': [1, 'wsd', 3]}]

with open('json.tex', 'w', encoding='utf-8') as file:
    file.write(strs =json.dumps(data, indent=2, ensure_ascii=False))

參數indent,表明縮進字符個數,將json形式文本字符串以層次結構顯示utf-8

參數ensure_ascii,默認爲ascii碼,爲False時,並規定文件打開的編碼爲utf-8便可輸出中文ci

CSV文件存儲

返回目錄

CSV全稱爲Comma-Separated Values逗號分隔值或字符分隔值,其文件以純文本形式存儲表格數據。

寫入

  • 普通方式寫入
import csv

with open('data.csv', 'w') as csvfile:
    writer = csv.writer(csvfile, delimiter=' ')  # 初始化寫入對象,參數爲文件對象,delimiter爲分割值,默認爲逗號
    writer.writerow(['10002', 'Bob', 22])  # 傳入每行的數據,可迭代對象
    writer.writerows([['10001', 'Mike', 20],['10003', 'Jordan', 21]])  # 傳入多行
  • 字典方式寫入
import csv
 
with open('data.csv', 'a', encoding='utf-8') as csvfile: # 可追加,寫中文的文件
    fieldnames = ['id', 'name', 'age']  # 定義字段
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames) # 初始化字典寫入對象,參數爲文件對象,fieldnames爲字段
    writer.writeheader()  # 先寫入頭信息
    writer.writerow({'id': '10001', 'name': 'Mike', 'age': 20})
  • 用pandas寫入

調用DataFrame對象的to_csv()方法來將數據寫入CSV文件中

讀取

  • 普通方式讀取
import csv

with open('data.csv', 'r', encoding='utf-8') as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        print(row)
  • pandas讀取
import pandas as pd

df = pd.read_csv('data.csv')
print(df)
相關文章
相關標籤/搜索