久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

教你用python提取txt文件中的特定信息并寫(xiě)入Excel

 共同成長(zhǎng)888 2023-03-06 發(fā)布于廣東

  問(wèn)題描述:

我有一個(gè)這樣的數(shù)據(jù)集叫test_result_test.txt,大概幾百上千行,,兩行數(shù)據(jù)之間隔一個(gè)空行。

教你用python提取txt文件中的特定信息并寫(xiě)入Excel

N:505904X:0.969wsecY:0.694wsec

N:506038X:4.246wsecY:0.884wsec

N:450997X:8.472wsecY:0.615wsec

...

現(xiàn)在我希望能提取每一行X:和Y:后面的數(shù)字,,然后保存進(jìn)Excel做進(jìn)一步的數(shù)據(jù)處理和分析

就拿第一行來(lái)說(shuō),,我只需要0.969 和0.694。每一行三個(gè)數(shù)字的具體位置是不確定的,,因此不能用固定的列數(shù)去處理,,剛好發(fā)現(xiàn)split函數(shù)能對(duì)文本進(jìn)行切片,所以這里我們用這個(gè)函數(shù)來(lái)提取需要的數(shù)字信息,。

split函數(shù)語(yǔ)法如下:

1,、split()函數(shù)

語(yǔ)法:str.split(str="",num=string.count(str))[n]

 

參數(shù)說(shuō)明:

str:表示為分隔符,默認(rèn)為空格,,但是不能為空('')。若字符串中沒(méi)有分隔符,,則把整個(gè)字符串作為列表的一個(gè)元素

num:表示分割次數(shù),。如果存在參數(shù)num,則僅分隔成 num+1 個(gè)子字符串,,并且每一個(gè)子字符串可以賦給新的變量

[n]:表示選取第n個(gè)分片

 

注意:當(dāng)使用空格作為分隔符時(shí),,對(duì)于中間為空的項(xiàng)會(huì)自動(dòng)忽略

于是對(duì)于我們這里的文本,我們可以先用“:”切片,,把文本分成三份,,比如對(duì)于第一行

教你用python提取txt文件中的特定信息并寫(xiě)入Excel

以“:”進(jìn)行切片得到

教你用python提取txt文件中的特定信息并寫(xiě)入Excel

取第三個(gè)分片進(jìn)行“w”切片,得到

教你用python提取txt文件中的特定信息并寫(xiě)入Excel

這里的第一分片就是我們要的X坐標(biāo)

最后我們分析一下思路:

首先定位文件位置讀取txt文件內(nèi)容,,去掉空行保存Excel準(zhǔn)備工作,,新建Excel表格,并編輯好標(biāo)題為寫(xiě)入數(shù)據(jù)就位對(duì)于每一行數(shù)據(jù),,首先用':'進(jìn)行切片,,再用'w'切片得到想要的數(shù)字,然后寫(xiě)入Excel保存

 

工具:

安裝好python模塊的visual studio 2017

包:os,,xlwt

 

操作:

先import我們所需要的包

import os
import xlwt

1.找到我們想要處理的文件,,因此去到指定的位置,,定位好文件

a = os.getcwd() #獲取當(dāng)前目錄
print (a) #打印當(dāng)前目錄
os.chdir('D:/') #定位到新的目錄,請(qǐng)根據(jù)你自己文件的位置做相應(yīng)的修改
a = os.getcwd() #獲取定位之后的目錄
print(a) #打印定位之后的目錄

2.打開(kāi)我們的txt文件查看下里面的內(nèi)容(這一步可有可無(wú))

#讀取目標(biāo)txt文件里的內(nèi)容,,并且打印出來(lái)顯示
with open('test_result1.txt','r') as raw:
	for line in raw:
		print (line)

3.去除空白行并保存

#去掉txt里面的空白行,,并保存到新的文件中
with open('test_result1.txt','r',encoding = 'utf-8') as fr, open('output.txt','w',encoding= 'utf-8') as fd:
	for text in fr.readlines():
		if text.split():
			fd.write(text)
	print('success')

執(zhí)行完畢同個(gè)位置下多了一個(gè)txt文件

教你用python提取txt文件中的特定信息并寫(xiě)入Excel

4. 創(chuàng)建一個(gè)Excel文件

#創(chuàng)建一個(gè)workbook對(duì)象,相當(dāng)于創(chuàng)建一個(gè)Excel文件
book = xlwt.Workbook(encoding='utf-8',style_compression=0)
'''
Workbook類(lèi)初始化時(shí)有encoding和style_compression參數(shù)
encoding:設(shè)置字符編碼,,一般要這樣設(shè)置:w = Workbook(encoding='utf-8'),,就可以在excel中輸出中文了。默認(rèn)是ascii,。
style_compression:表示是否壓縮,,不常用。
'''

5.創(chuàng)建一個(gè)sheet對(duì)象

# 創(chuàng)建一個(gè)sheet對(duì)象,,一個(gè)sheet對(duì)象對(duì)應(yīng)Excel文件中的一張表格,。
sheet = book.add_sheet('Output', cell_overwrite_ok=True)
# 其中的Output是這張表的名字,cell_overwrite_ok,表示是否可以覆蓋單元格,,其實(shí)是Worksheet實(shí)例化的一個(gè)參數(shù),,默認(rèn)值是False

6.在表格里添加好基本的數(shù)據(jù)標(biāo)題,我這里是X和Y坐標(biāo)

# 向表中添加數(shù)據(jù)標(biāo)題
sheet.write(0, 0, 'X')  # 其中的'0-行, 0-列'指定表中的單元,,'X'是向該單元寫(xiě)入的內(nèi)容
sheet.write(0, 1, 'Y')

7.多次切割數(shù)據(jù)并定位好需要的部分保存進(jìn)Excel

#對(duì)文本內(nèi)容進(jìn)行多次切片得到想要的部分
n=1
with open('output.txt','r+') as fd:
	for text in fd.readlines():
		x=text.split(':')[2]
		y=text.split(':')[3]
		print (x.split('w'))
		print (y.split('w'))
		sheet.write(n,0,x.split('w')[0])#往表格里寫(xiě)入X坐標(biāo) 
		sheet.write(n,1,y.split('w')[0])#往表格里寫(xiě)入Y坐標(biāo)
		n = n+1
# 最后,,將以上操作保存到指定的Excel文件中
book.save('Output.xls')  

現(xiàn)在定位到之前定義的文件位置,發(fā)現(xiàn)又多了一個(gè)Excel表格,,打開(kāi)Excel,,想要的數(shù)據(jù)齊齊整整的排好躺在里面,舒服~

教你用python提取txt文件中的特定信息并寫(xiě)入Excel

教你用python提取txt文件中的特定信息并寫(xiě)入Excel

此時(shí)數(shù)據(jù)為文本格式,,想要進(jìn)一步的處理請(qǐng)用Excel轉(zhuǎn)換成數(shù)字格式

源代碼:

https://github.com/julis-wolala/TextdataHandler

Reference:

http://www./article/230273.html

總結(jié)

到此這篇關(guān)于教你用python提取txt文件中的特定信息并寫(xiě)入Excel的文章就介紹到這了,更多相關(guān)python提取txt文件寫(xiě)入Excel內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家,!

原文鏈接:https://blog.csdn.net/zhelijun/article/details/102294138

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,,不代表本站觀(guān)點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào),。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多