1 txt文件讀取
????一:讀取全部?jī)?nèi)容
????????#打開(kāi)文件
? ??????txt_filename = "./files/python_.txt"
? ??????file_obj = open(txt_filename, 'r',encoding='utf-8')
????????#讀取整個(gè)文件內(nèi)容
????????all_content = file_obj.read()
? ? ? ? # 逐行讀取
? ? ? ? line1 = file_obj.readline()
? ? ? ? #如果想要讀取下一行撰茎,則繼續(xù) readline
? ? ? ? line2 = file_obj.readline()
????????#讀取全部?jī)?nèi)容膘滨,返回列表
? ? ? ? lines = file_obj.readlines()
? ? ? ? for i,line in enumerate(lines):
????????????????print('第{}行:{}'.formart(i,line))
????????#讀取完后要關(guān)閉文件
????????file_obj.close()
? ? ? ? #寫(xiě)操作
? ? ? ? file_obj.write("《Python 數(shù)據(jù)分析》")
????????#寫(xiě)入字符串列表
? ? ? ? lines = ['這是第%i 行\(zhòng)n' %n for n in range(100)]
? ? ? ? file_obj.writelines(lines)
? ? ? ? #換行? \n
? ? ? ? file_obj.write("《Python 數(shù)據(jù)分析》" + "\n")
? ? ? ? file_obj.close()
2? csv文件讀取
? ? ????#csv操作使用pandas哥攘,打開(kāi)文件,讀取前5條數(shù)據(jù)
? ????? import pandas as pd
? ? ????file_name = './files/test.csv'
? ? ? ? #這里編碼格式選擇csv文件的編碼格式愉阎,如果不知道的話,把csv文件使用Notepad++打開(kāi)解孙,然后選擇編碼——轉(zhuǎn)為UTF-8 無(wú)BOM編碼格式
? ? ? ? df = pd.read_csv(filename,encoding='utf-8')
? ? ? ? #head()默認(rèn)顯示前5條數(shù)據(jù)回还;pandas讀取csv文件的數(shù)據(jù),可以認(rèn)為是一個(gè)二維數(shù)組
????????print(df.head())
? ? ? ? #顯示全部數(shù)據(jù)
? ? ? ? print(df)
? ? ? ? #讀取某一列數(shù)據(jù)
? ? ? ? country_se = df[u'國(guó)家']
? ? ? ? #讀取多列數(shù)據(jù)
????????dataset_path = './starcraft.csv'
? ? ? ? ?df_data = pd.read_csv(dataset_path, usecols=['LeagueIndex', 'Age', 'HoursPerWeek',
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'TotalHours', 'APM'])
? ? ? ? #寫(xiě)CSV
? ? ? ? df.to_csv(file_name,index=None,encoding='utf-8')
3? JSON操作
????????#打開(kāi)文件戏蔑,讀取json(load)? ? ? ??
????????import json
? ? ? ? filename = './files/global_temperature.json'?
? ? ? ? with open(filename,'r') as f_obj:
? ? ? ? ? ? ? ? json_data = json.load(f_obj)
? ? ? ? #獲取json中所有的key
? ? ? ? print(json_data.keys())
? ? ? ? #key對(duì)應(yīng)的值
? ???????print(json_data['data'])
? ? ? ? ?print(json_data['data'].keys())
? ? ? ? ?print(json_data['data'].values())
? ? ? ? #使用列表推導(dǎo)式?轉(zhuǎn)換key的值
? ? ? ? str_lst = json_data['data'].keys()
? ? ? ? lst = [int(str)? for? str? in? str_lst ]
????????#寫(xiě)JSON數(shù)據(jù)
? ??????book_dict = [{'書(shū)名':'無(wú)聲告白', '作者':'伍綺詩(shī)'}, {'書(shū)名':'我不是潘金蓮', '作者':'劉震云'}, {'書(shū)名':'沉默的大多數(shù) (王小波集)', '作者':'王小波'}]
????????with open(filename, 'w', encoding='utf-8') as f_obj:
? ? ????????????f_obj.write(json.dumps(book_dict, ensure_ascii=False))