您好,登錄后才能下訂單哦!
python讀取txt文件:(思路:先打開文件,讀取文件,最后用for循環輸出內容)
1、讀取
1.1基于python csv庫
#3.讀取csv至字典x,y import csv # 讀取csv至字典 csvFile = open(r'G:\訓練小樣本.csv', "r") reader = csv.reader(csvFile) #print(reader) # 建立空字典 result = {} i=0 for item in reader: if reader.line_num==1: continue result[i]=item i=i+1 # 建立空字典 j=0 xx={} yy={} for i in list(range(29)): xx[j]=result[i][1:-1] yy[j]=result[i][-1] # print(x[j]) # print(y[j]) j=j+1 csvFile.close() ##3.1字典轉換成list X=[] Y=[] for i in xx.values(): X.append(i) for j in xx.values(): X.append(j)
改進的CSV讀取,直接從CSV文件讀取到 list:
#加載數據 def loadCSV(filename): dataSet=[] with open(filename,'r') as file: csvReader=csv.reader(file) for line in csvReader: dataSet.append(line) return dataSet
讀取的方式,是一行一行讀取。
1.2 pandas讀取
import pandas as pd test_df = pd.read_excel(r'G:\test_linearRegression.xlsx')
2、寫入
import csv #程序三 with open(r'G:\0pythonstudy\chengxu\test.csv','w',newline='') as myFile: myWriter=csv.writer(myFile) myWriter.writerow([7,'g']) myWriter.writerow([8,'h']) myList=[[1,2,3],[4,5,6]] myWriter.writerows(myList) # myFile.close() with open(r'G:\0pythonstudy\chengxu\test.csv',"r") as data: result=csv.reader(data) for item in result: print(item)
寫入,如果純用 open(r'G:\0pythonstudy\chengxu\test.csv','w'),
就會出現多出一空行。
二、Excel文件處理
1、讀取
方法一:
使用Python的 xlrd包。
#1、導入模塊 import xlrd #2、打開Excel文件讀取數據 data = xlrd.open_workbook('test_data.xlsx') # print('data',data) #3、使用技巧 #獲取一個工作表 table = data.sheets()[0] #通過索引順序獲取 # print('table',table) print(table.nrows)#table 行數 print(table.ncols) table = data.sheet_by_index(0) #通過索引順序獲取 # print('table',table) table = data.sheet_by_name(u'Sheet1')#通過名稱獲取 # 獲取整行和整列的值(數組) i=1 print(table.row_values(i))#獲得第i行數據 print(table.col_values(i))#獲得第i列數據
運行結果:
9 2 [2.0, 6.0] [5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0]
方法二:
或者,可以把Excel文件轉換成csv格式文件,直接修改后綴名,好像會出錯,還是建議另存為修改成csv文件。
方法三:
使用pandas包
import pandas as pd test_df = pd.read_excel(r'G:\test.xlsx')
pandas 讀取為dataframe格式,其中dataframe.values是nparray格式,nparray.tolist()是python list 格式。
注意:pandas和 xlrd的區別在于,pandas會把第一行和第一列作為索引的表頭;xlrd則會把所有的數據都讀取,沒有索引表頭一說。
三、dat文件處理
把.dat文件修改成.txt格式文件。
這里可以參考 python批量更改文件后綴名 一文。
四、txt文件處理
a = numpy.loadtxt('odom.txt')
a [[ 2.49870000e-01 2.50250000e-01 [ 3.64260000e+03 3.72430000e+03 [ 4.53960000e+03 4.50590000e+03 ..., [ 4.74110000e+01 4.89660000e+01 [ 4.10930000e+01 4.20480000e+01 [ 1.83510000e+01 1.68250000e+01 a.shape (52, 500)
fp = open('test.txt','r') lines = fp.readlines() fp.close() for line in lines: username = line.split(',')[0] password = line.split(',')[1]
注:第一句是以只讀方式打開文本文件;第二個是讀取所有行的數據(read:讀取整個文件;readline:讀取一行數據);最后一定要關閉文件。最終會返回一個列表,通過for循環可以一個個的讀取其中的數據。如username,password。這時候通過split方法進行分割,最終可以得到username password,這樣就可以在自動化里面做參數化了。
python讀取CSV文件
import csv date =csv.reader(open('test.csv','r')) for test in date: print test print test[0]
注:需要先導入csv包,然后通過reader方法讀取內容,最終會返回一個列表。想選擇某一列數據,只需要制定列表下標即可
python讀取excel
需要先安裝xlrd模塊
賬號 | 密碼 | 備注 |
import xlrd book=xlrd.open_workbook(data_dirs()+'/system.xlsx') sheet=book.sheet_by_index(0) print sheet.cell_value(0,2)
注:(0,2)表示第二行第三列的數據,也就是:備注
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對億速云的支持。如果你想了解更多相關內容請查看下面相關鏈接
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。