Python對(duì)CSV、Excel、txt、dat文件的處理
python讀取txt文件:(思路:先打開(kāi)文件,讀取文件,最后用for循環(huán)輸出內(nèi)容)
1、讀取
1.1基于python csv庫(kù)
#3.讀取csv至字典x,y
import csv
# 讀取csv至字典
csvFile = open(r'G:\訓(xùn)練小樣本.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字典轉(zhuǎn)換成list
X=[]
Y=[]
for i in xx.values():
X.append(i)
for j in xx.values():
X.append(j)
改進(jìn)的CSV讀取,直接從CSV文件讀取到 list:
#加載數(shù)據(jù) 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、寫(xiě)入
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)
寫(xiě)入,如果純用 open(r'G:\0pythonstudy\chengxu\test.csv','w'),就會(huì)出現(xiàn)多出一空行。
二、Excel文件處理
1、讀取
方法一:
使用Python的 xlrd包。
#1、導(dǎo)入模塊
import xlrd
#2、打開(kāi)Excel文件讀取數(shù)據(jù)
data = xlrd.open_workbook('test_data.xlsx')
# print('data',data)
#3、使用技巧
#獲取一個(gè)工作表
table = data.sheets()[0] #通過(guò)索引順序獲取
# print('table',table)
print(table.nrows)#table 行數(shù)
print(table.ncols)
table = data.sheet_by_index(0) #通過(guò)索引順序獲取
# print('table',table)
table = data.sheet_by_name(u'Sheet1')#通過(guò)名稱獲取
# 獲取整行和整列的值(數(shù)組)
i=1
print(table.row_values(i))#獲得第i行數(shù)據(jù)
print(table.col_values(i))#獲得第i列數(shù)據(jù)
運(yùn)行結(jié)果:
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文件轉(zhuǎn)換成csv格式文件,直接修改后綴名,好像會(huì)出錯(cuò),還是建議另存為修改成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的區(qū)別在于,pandas會(huì)把第一行和第一列作為索引的表頭;xlrd則會(huì)把所有的數(shù)據(jù)都讀取,沒(méi)有索引表頭一說(shuō)。
三、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]
注:第一句是以只讀方式打開(kāi)文本文件;第二個(gè)是讀取所有行的數(shù)據(jù)(read:讀取整個(gè)文件;readline:讀取一行數(shù)據(jù));最后一定要關(guān)閉文件。最終會(huì)返回一個(gè)列表,通過(guò)for循環(huán)可以一個(gè)個(gè)的讀取其中的數(shù)據(jù)。如username,password。這時(shí)候通過(guò)split方法進(jìn)行分割,最終可以得到username password,這樣就可以在自動(dòng)化里面做參數(shù)化了。
python讀取CSV文件
import csv
date =csv.reader(open('test.csv','r'))
for test in date:
print test
print test[0]
注:需要先導(dǎo)入csv包,然后通過(guò)reader方法讀取內(nèi)容,最終會(huì)返回一個(gè)列表。想選擇某一列數(shù)據(jù),只需要制定列表下標(biāo)即可
python讀取excel
需要先安裝xlrd模塊
| 賬號(hào) | 密碼 | 備注 |
import xlrd book=xlrd.open_workbook(data_dirs()+'/system.xlsx') sheet=book.sheet_by_index(0) print sheet.cell_value(0,2)
注:(0,2)表示第二行第三列的數(shù)據(jù),也就是:備注
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接
- Python Pandas批量讀取csv文件到dataframe的方法
- python批量讀取txt文件為DataFrame的方法
- Python將列表數(shù)據(jù)寫(xiě)入文件(txt, csv,excel)
- 基于python實(shí)現(xiàn)自動(dòng)化辦公學(xué)習(xí)筆記(CSV、word、Excel、PPT)
- python將excel轉(zhuǎn)換為csv的代碼方法總結(jié)
- Python導(dǎo)出數(shù)據(jù)到Excel可讀取的CSV文件的方法
- python?pandas庫(kù)讀取excel/csv中指定行或列數(shù)據(jù)
- python讀取和保存為excel、csv、txt文件及對(duì)DataFrame文件的基本操作指南
相關(guān)文章
Python?提取出SQL語(yǔ)句中Where的值兩種方法(示例代碼)
為了提取SQL語(yǔ)句中WHERE子句的值,我們可以利用Python的sqlparse庫(kù),這是一個(gè)專門用于解析SQL語(yǔ)句的庫(kù),這篇文章主要介紹了Python?提取出SQL語(yǔ)句中Where的值的方法,需要的朋友可以參考下2024-08-08
PyTorch中Tensor的拼接與拆分的實(shí)現(xiàn)
這篇文章主要介紹了PyTorch中Tensor的拼接與拆分的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
python讀取當(dāng)前目錄下的CSV文件數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了python讀取當(dāng)前目錄下的CSV文件數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03
Pygame實(shí)戰(zhàn)練習(xí)之炸彈人學(xué)院游戲
炸彈人學(xué)院想必是很多人童年時(shí)期的經(jīng)典游戲,我們依舊能記得抱個(gè)老人機(jī)娛樂(lè)的場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于如何利用python寫(xiě)一個(gè)簡(jiǎn)單的炸彈人學(xué)院小游戲的相關(guān)資料,需要的朋友可以參考下2021-09-09
解決pip install的時(shí)候報(bào)錯(cuò)timed out的問(wèn)題
今天小編就為大家分享一篇解決pip install的時(shí)候報(bào)錯(cuò)timed out的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-06-06
windows下的pycharm安裝及其設(shè)置中文菜單
這篇文章主要介紹了windows下的pycharm安裝及其設(shè)置中文菜單,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-04-04
給Python的Django框架下搭建的BLOG添加RSS功能的教程
這篇文章主要介紹了給Python的Django框架下搭建的BLOG添加RSS功能的教程,示例代碼非常簡(jiǎn)單,需要的朋友可以參考下2015-04-04

