python讀寫txt/csv/xlsx格式

 讀寫txt:

#讀寫txt格式
data='qwewqewqe wqewqe wq\naa'
path = 'E:/data_txt.'
f = open(path, 'w')
'''如果僅僅只想讀取一定行內容,則使用f=f.readline(int)
如果想返回一個列表,其中每行文本作爲一個列表元素,則使用f=f.readlines()'''
f.writelines(data) 
'''writelines將data的(date可以僅可以是文本/列表/一維數組)子項目寫入f中,
且相鄰2個子項目不換行,如果要換行,需要手動添加換行符(同時結合for in選擇str對象);
如果採用f.write(),那麼data只能是文本'''
f.close()

讀寫csv

#讀寫csv格式
import pandas as pd
path = 'E:/data_csv.csv'
f = pd.read_csv(path,encoding='utf-8')
'''read_csv()默認讀取以逗號爲分隔符的csv文本文件,header=設置標題,names=[設置列名],
index_col=[設置每層行索引的列名],sep=某些csv文件可能不以逗號分隔,在這裏設置,
na_values=設置哪些元素替換爲缺失值,可以用列表表示一系列,或用字典(鍵表示作用於哪一列)
nrows=int設置讀幾行,chunksize=int設置文本每int行分成一塊被讀取,使得f成爲一個可迭代對象'''
new_path = 'E:/new_data_csv.csv'
f.to_csv(new_path)
'''sep=設置分隔符,na_rep=設置用什麼替換缺值,默認爲空字符串'''

出現了2個問題

invalid character in identifier ‘標識符中出現無效字符’ 原來是我逗號用了中文格式

'utf-8' codec can't decode byte 0xb5 in position 0: invalid start byte‘’ ‘utf-8編碼無法解碼位置0中的字節0xb5’,修改編碼方式encoding=‘gbk’即可

 

讀寫xlsx

#讀寫xlsx格式

import pandas as pd
path = 'E:/data_excel.xlsx'
f = pd.read_excel(path,sheetname=None) #與open寫模式不同,需要文件存在
'''read_excel函數參數,sheetname=0設置讀取哪個表單,默認0返回第一個表,[返回多張表,
0,1,2爲鍵的字典形式],None返回全部表,header=0設置作爲列名的行,默認第一行,None
表示不含列名。skiprows=int,skip_footer=int,index_col指定作爲索引的列'''
sheet2 = f['Sheet2'] #注意S要大寫,且read_csv中要設置sheetname=None,sheet2爲DataFrame對象


sheet2.to_excel('E:/data_excel_write.xlsx' )#把sheet2(DataFrme)內容傳到目標文件上。並指定sheet名稱
'''另外參數sheet_name=None,na_rap,index=True,header=True,encoding等''

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章