1. 程式人生 > >python txt檔案處理

python txt檔案處理

輸入為:


要求輸出為:


程式碼:

file = open('test.txt','rb')
file_context = file.read().decode('utf-8')
#print ("整個檔案內容:", file_context)#寫檔案
outdata = open('test1.txt', 'w', encoding="utf-8")
# 以換行符為分隔符,從而將這個檔案以行為單位進行分割
line = file_context.split('\n')

for i in range(0, len(line)):
    #讀取每一行
line_context = line[i]
    # print ("line_context:", line_context) 寶馬 賓士:0.9,奧迪:0.8,hh:99
# 先以 ,為分割符進行分割 line_context_split = line_context.split(',') #print(line_context_split)['\ufeff寶馬 賓士:0.9', '奧迪:0.8', 'hh:99\r'] #將寶馬取出來 first_split = line_context_split[0].split(" ") first = first_split[0] # print ("first:", first) 寶馬 for j in range(0, len(line_context_split)): # print (j, line_context_split[j])
#['\ufeff寶馬 賓士:0.9', '奧迪:0.8', 'hh:99\r'] if j == 0: if "" in line_context_split[j] and ":" in line_context_split[j]: string = line_context_split[j].replace(" ", "\t").replace(":","\t") outdata.write(string+'\n') elif j >= 1: if
":" in line_context_split[j]: line_context_split[j] = line_context_split[j].replace(":","\t") string = first + "\t"+ line_context_split[j] outdata.write(string+'\n')

檔案讀取的時候是全文讀取,效率低下,使用按行讀取會出現空行,用另一段程式碼將空行刪除。

file = open('test.txt',encoding='utf-8')
#print ("整個檔案內容:", file_context)
#print ("--------------------------------")
#寫檔案
outdata = open('test1.txt', 'w', encoding="utf-8")
# 以換行符為分隔符,從而將這個檔案以行為單位進行分割
for line in file.readlines():
    #讀取每一行
    #line_context = str(line)
    #為分割符進行分割
line_context_split = line.split(',')
    #print(line_context_split)['\ufeff寶馬 賓士:0.9', '奧迪:0.8', 'hh:99\r']
    #將寶馬取出來
first_split = line_context_split[0].split(" ")
    first = first_split[0]
    # print ("first:", first) 寶馬
for j in range(0, len(line_context_split)):
        # print (j, line_context_split[j])
        #['\ufeff寶馬 賓士:0.9', '奧迪:0.8', 'hh:99\r']
if j == 0:
            if "" in line_context_split[j] and ":" in line_context_split[j]:
                string = line_context_split[j].replace(" ", "\t").replace(":","\t")
                outdata.write(string+'\n')
        elif j >= 1:
            if ":" in line_context_split[j]:
                line_context_split[j] = line_context_split[j].replace(":","\t")
                string = first + "\t"+ line_context_split[j]
                outdata.write(string+'\n')

刪除空行程式碼:

# coding:utf-8
def delblankline(infile, outfile):
    infp = open(infile, "r",encoding='utf-8')
    outfp = open(outfile, "w",encoding='utf-8')
    lines = infp.readlines()
    for li in lines:
        if li.split():
            outfp.writelines(li)
    infp.close()
    outfp.close()

# 呼叫示例
if __name__ == "__main__":
    delblankline("test1.txt", "2.txt")

相關推薦

python txt檔案處理

輸入為:要求輸出為:程式碼:file = open('test.txt','rb') file_context = file.read().decode('utf-8') #print ("整個檔案內容:", file_context)#寫檔案 outdata = open(

python檔案處理TXT

檔案讀寫 1、讀寫檔案是最常見的IO操作。Python內建了讀寫檔案的函式,用法和C是相容的。 2、讀寫檔案前,我們先必須瞭解一下,在磁碟上讀寫檔案的功能都是由作業系統提供的,現代作業系統不允許普通的程式直接操作磁碟,所以,讀寫檔案就是請求作業系統開啟一個檔案物件(通常稱

Python 關於txt檔案處理

Python 處理txt檔案 1.TXT讀取: path = '/home/0_1.txt' file1 = open(path) read1 = file1.read() print(read1) 2.將TXT內容轉化為array TXT的大小是24*24,轉化為一維向量1*

python .txt檔案讀取及資料處理總結

1、處理包含資料的檔案 最近利用Python讀取txt檔案時遇到了一個小問題,就是在計算兩個np.narray()型別的陣列時,出現了以下錯誤: TypeError: ufunc 'subtract' did not contain a loop wi

python配置檔案處理模組

import configparser class ReadConfig: '''read config file''' def read_config(self,file_path,section,option): cf = configparser.Co

python txt檔案常用讀寫操作

檔案的開啟的兩種方式 f = open("data.txt","r") #設定檔案物件 f.close() #關閉檔案 #為了方便,避免忘記close掉這個檔案物件,可以用下面這種方式替代 with open('data.txt',"r") as f: #

python txt檔案轉換乘excel檔案(轉)

#!/bin/env python # -*- encoding: utf-8 -*- #------------------------------------------------------------------------------- # Pu

python txt檔案轉列表、字典型別

Caltech-UCSD Birds-200-2011資料集類別資訊轉換成列表和字典形式 # 列表型別 f = open('classes.txt', 'r') re = [] for i in f.readlines(): lst = i.strip().spli

python處理行列分明的txt檔案

Rock_path="/media/gfq/dataset/Lakh MIDI Data/dataset/Rock.txt" 行列明顯分離: with open(Rock_path) as f: Rock=[line.split() for line in f] 按行列讀取你需要

利用Python requests庫從網上下載txt檔案時多出一個CR的處理

問題描述 讀1 的Reading word lists小節時,發現需要從thinkpython2/code/words.txt上下載words.txt檔案。我不想利用複製-貼上的方法構造該檔案,想到之前學過的爬蟲技術,於是寫下如下程式碼: import requests r =

python處理txt檔案的一種情況

在txt文字中,以換行符作為標記分段處理txt檔案中的內容的方法: with open(path, 'r', encoding='utf-8') as f: for line in f: if line!='\n': print(line

python處理txt檔案

需求: 給一個txt檔案,經過程式處理後,生成目標txt檔案 例如: 原檔案內容如下: 商戶號|終端號|交易型別|交易子型別|總筆數|總金額|總手續費|清算時間 1201603|38554|04317|00|13|0.31|2.40|2018-01-15 商戶號|終端號|交

python 處理excel檔案txt檔案

處理excel檔案的python庫有很多,如xlsxwriter、xlrd、openpyxl等。由於經常用pandas處理資料,而且pandas讀寫excel更方便,所以主要講pandas是如何操作excel的。也介紹瞭如何分別使用用xlsxwriter和ope

python讀寫txt檔案中文字元的處理

最近一個專案,需要儲存中文字元和數字英文字母等到txt檔案中,使用的python2.7,說實話,python2的編碼問題真是個大坑! 花了半上午才解決問題,這裡簡單的總結一下。 python開啟txt檔案預設的是ascii編碼,是無法處理中文字元的,所以需要統一轉換為ut

Python實現讀取多個/批量txt檔案合併成一個txt(示例為tcga資料處理

本程式 功能:將tcga資料的批量txt檔案合併成一個txt原始的第一個txt(代表一個病人)的資料內容 合併之後的txt資料,基因名不變,只是把病人的表達量收集到一起 操作說明:本人測試通過的執行環境:Python 2.7  Windows 7 64bit  cmd命令執行

python批量處理txt檔案,為每行資訊追加內容

環境:python3.7。軟體下載自官網,安裝過程參考 廖雪峰的python教程。不過按照其教程安裝,報了api-win-msc-crt-runtime丟失的問題。 後續,我直接到官網下載,以及百度解決問題。具體參考哪個文件,找不到了。 這裡只展示自己寫的簡單指令碼:

Python讀寫txt檔案時的編碼問題

  這個問題來自於一個小夥伴,他在處理中文資料時需要先把裡面的文字過濾然後分詞,因為裡面有許多符號,不僅是中文標點符號,還有✳,emoji等奇怪的符號。   正常情況下,中文的str經過encode('utf-8')變成bytes,然後bytes經過decode('utf-8')變回中文。   原始檔案是

第二篇 Python資料型別、字元編碼、檔案處理

一、引子     1、什麼是資料?         x=10,10是我們要儲存的資料     2、為何資料要分不同的型別    

Python建立檔案報錯OSError:[Errno 22] Invalid argument處理

問題:   windows平臺下使用python open函式w模式開啟檔案報錯“OSError: [Errno 22] Invalid argument: '../news/“消費升維”成零售業新風口?渠道多元同步跟進.txt'”   解決:   本來猜測是轉義

Pythontxt檔案中逐行讀取資料

Python從txt檔案中逐行讀取資料   # -*-coding:utf-8-*- import os for line in open("./samples/label_val.txt"): print('line=', line, end = '') #後面