Python的文件是一個重要的對象,使用open()函數來打開文件,建立文件對象,進行文件的讀寫操做。當數據用於交換信息時,一般須要把數據保存爲有格式的文本數據,能夠保存爲有特定的行分隔符和列分隔符的數據,這能夠使用pandas模塊中的函數來讀寫;也能夠保存爲json結構的數據,這能夠使用json模塊中的函數來實現;對於大型的數據交互,一般使用數據庫。html
open()函數用於打開文件,建立文件對象:python
open(name, mode, encoding=None)
參數註釋:正則表達式
name是文件名,包括路徑數據庫
encoding 是編碼方式,經常使用的編碼方式是utf-8json
mode是打開文件的模式,最經常使用的模式是:函數
open()函數建立一個file 對象,文件對象的主要方法:編碼
1,讀取文件spa
調用open()函數打開一個文件,設置mode='r',表示打開文件是爲了讀取文件中的數據,調用文件對象的函數或迭代器來逐行讀取數據:.net
file = open('test.txt','r',encoding='utf-8') lines = [line.strip() for line in file] file.close()
注意:打開文件以後,完成文件的讀寫以後,必須調用文件對象的close()方法,最終關閉文件。code
2,寫入文件
調用open()函數打開一個文件,若是設置mode='w',那麼表示打開文件是爲了向文件中寫入數據,調用文檔對象的write('content')函數向文檔中寫入內容。
file = open('test.txt','w',encoding='utf-8') file.write('write content to file') file.close()
注意:打開文件以後,完成文件的讀寫以後,必須調用文件對象的close()方法,最終關閉文件。
3,文件的關閉
調用open()函數打開一個文件,是把文件讀取到內存中的,若是不及時關閉文件,文件對象就會一直佔用系統資源,除了調用文件對象的close()方法關閉文件以外,還能夠使用 with open(),由系統自動關閉文件:
with open('test.txt','r',encoding='utf-8') as file: lines = [line.strip() for line in file]
pandas模塊提供了一些用於把表格型數據讀取爲DataFrame對象的函數。
1,格式化數據的讀取
read_csv:從文件、URL、文件型對象中加載帶分隔符的數據,默認的分隔符是逗號。
read_table:從文件、URL、文件型對象中加載帶分隔符的數據,默認的分隔符是製表符(\t)。
參數註釋:
2,輸出數據
利用DataFrame的to_csv方法,能夠把數據寫到一個以逗號分隔的文件中
DataFrame.to_csv(path_or_buf=None, sep=', ', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, mode='w', encoding=None, compression=None, quoting=None, quotechar='"', line_terminator='\n', chunksize=None, tupleize_cols=None, date_format=None, doublequote=True, escapechar=None, decimal='.')
經常使用參數註釋:
Python中的json對象實際是一個字典結構,用於存儲和交換信息,導入json模塊:
import json
1,把字符串轉換爲json
json的load()方法用於把josn格式的字符串轉換爲json對象,這其實是一個字典結構:
json_string= '{ "name":"John", "age":30, "city":"New York"}' # parse string to json json_obj = json.loads(json_string)
2,把字典轉換爲json字符串
json的dumps()函數用於把字典結構轉換爲json格式的字符串。
x = { "name": "John", "age": 30, "city": "New York" } # convert dict into JSON string: json_string = json.dumps(x)
參考文檔: