python處理txt檔案
需求:
給一個txt檔案,經過程式處理後,生成目標txt檔案
例如:
原檔案內容如下:
商戶號|終端號|交易型別|交易子型別|總筆數|總金額|總手續費|清算時間
1201603|38554|04317|00|13|0.31|2.40|2018-01-15
商戶號|終端號|交易型別|交易子型別|寶付訂單號|商戶訂單號|清算日期|訂單狀態|交易金額|手續費|寶付交易號|支付訂單建立時間|商戶退款訂單號|退款訂單建立時間
1201603|38554|04317|00|1574960674|S180115121807148001|2018-01-15|1|0.02|0.80|201801150110001574960674|2018-01-15 12:18:07||
1201603|38554|04317|00|1574960674|S180115121807148001|2018-01-15|1|0.01|0.00|201801150110001574960674|2018-01-15 12:18:07||
1201603|38554|04317|00|1574988830|S180115122645148008|2018-01-15|1|0.01|0.00|201801150110001574988830|2018-01-15 12:26:45||
1201603|38554|04317|00|1574988830|S180115122645148008|2018-01-15|1|0.03|0.80|201801150110001574988830|2018-01-15 12:26:45||
1201603|38554|04317|00|1574992052|S180115122753148009|2018-01-15|1|0.03|0.80|201801150110001574992052|2018-01-15 12:27:54||
1201603|38554|04317|00|1574992052|S180115122753148009|2018-01-15|1|0.02|0.00|201801150110001574992052|2018-01-15 12:27:54||
1201603|38554|04317|00|1574992052|S180115122753148010|2018-01-15|1|10.00|1.00|201801150110001574992053|2018-01-15 12:27:54||
1201603|38554|04317|00|1574992052|S180115122753148011|2018-01-15|1|20.00|0.00|201801150110001574992054|2018-01-15 12:27:54||
處理後的新檔案:
商戶號|終端號|交易型別|交易子型別|總筆數|總金額|總手續費|清算時間
1201603|38554|04317|00|13|0.31|2.40|2018-01-15
商戶號|終端號|交易型別|交易子型別|寶付訂單號|商戶訂單號|清算日期|訂單狀態|交易金額|手續費|寶付交易號|支付訂單建立時間|商戶退款訂單號|退款訂單建立時間|分賬金額
1201603|38554|04317|00|1574960674|S180115121807148001|2018-01-15|1|0.02|0.80|201801150110001574960674|2018-01-15 12:18:07|||0.01
1201603|38554|04317|00|1574988830|S180115122645148008|2018-01-15|1|0.03|0.80|201801150110001574988830|2018-01-15 12:26:45|||0.01
1201603|38554|04317|00|1574992052|S180115122753148009|2018-01-15|1|0.03|0.80|201801150110001574992052|2018-01-15 12:27:54|||0.02
1201603|38554|04317|00|1574992052|S180115122753148010|2018-01-15|1|10.00|1.00|201801150110001574992053|2018-01-15 12:27:54|||0.00
1201603|38554|04317|00|1574992052|S180115122753148011|2018-01-15|1|20.00|0.00|201801150110001574992054|2018-01-15 12:27:54|||0.00
程式如下:
#-*— coding:utf-8 -*- #處理txt檔案 __author__ = 'zengqiang.wang' #開啟檔案 file=open('fi_dz_1201603_2018-01-15_new.txt') #存放檔案前二行 dest1=[] #存放檔案其餘的行 dest2=[] #將檔案內容存放到相應的變數中 for f in file: f1 = f.split('|')#以|進行字串的分割 if len(f1) == 8: dest1.append(f1) else: dest2.append(f1) dest=[]#存放處理後的檔案內容的變數 #處理寶付訂單號成對出現的。 for i in range(len(dest2)): if dest2[i][0] == '商戶號': dest2[0].append('分賬金額')#對第三行的處理 else:#對剩下幾行的處理,合併某兩行上午訂單號相同的,然後將手續費為0的追加加到不為0的後面 dest2[i][13] = ''#處理換行 for d1 in dest2: if d1[5] == dest2[i][5] and d1[9] == '0.00' and dest2[i][9] != '0.00': dest2[i].append(d1[8]) dest.append(dest2[i]) #目標生成檔案,裡面包含處理後的內容 file=open('dest.txt','w') print dest1 print dest2[0] print dest #處理寶付訂單號不成對的。 orderIds1=[] #把成對的寶付訂單號存放在orderIds1變數中 for j in range(len(dest)): orderIds1.append(dest[j][5]) #print orderIds1 dest3=[]#把不成對的行存放在dest3裡面。 for k in range(len(dest2)): if dest2[k] == dest2[0]: continue if dest2[k][5] not in orderIds1: dest3.append(dest2[k]) #處理list中的字串中包含的換行符\n for j in range(len(dest3)): for i in range(len(dest3[j])): dest3[j][i] = dest3[j][i].strip('\n') for m in range(len(dest3)): dest3[m].append('0.00') dest.append(dest3[m]) #遍歷將變數存入檔案 #將前兩行寫入檔案 for d in dest1: for i in range(len(d)): d[i] = d[i].strip('\n') if i < len(d)-1: d[i] += '|' file.write(d[i]) file.write('\n') #將第三行寫入檔案 for i in range(len(dest2[0])): dest2[0][i] = dest2[0][i].strip('\n') if i < len(dest2[0])-1: dest2[0][i] += '|' file.write(dest2[0][i]) file.write('\n') #將其餘幾行寫入檔案 for d in dest: for i in range(len(d)): if i < len(d)-1: d[i] += '|' file.write(d[i]) file.write('\n')
相關推薦
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 關於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 處理excel檔案、txt檔案
處理excel檔案的python庫有很多,如xlsxwriter、xlrd、openpyxl等。由於經常用pandas處理資料,而且pandas讀寫excel更方便,所以主要講pandas是如何操作excel的。也介紹瞭如何分別使用用xlsxwriter和ope
python批量處理txt檔案,為每行資訊追加內容
環境:python3.7。軟體下載自官網,安裝過程參考 廖雪峰的python教程。不過按照其教程安裝,報了api-win-msc-crt-runtime丟失的問題。 後續,我直接到官網下載,以及百度解決問題。具體參考哪個文件,找不到了。 這裡只展示自己寫的簡單指令碼:
Python從txt檔案中逐行讀取資料
Python從txt檔案中逐行讀取資料 # -*-coding:utf-8-*- import os for line in open("./samples/label_val.txt"): print('line=', line, end = '') #後面
python修改txt檔案中的某一項
在做task中,需要將TXT文字中的某一項註釋修改,但是python對txt文字只有寫入和讀取兩種操作。 我採用的方法是: 1.讀取txt檔案,將每一行資料,加入新建立的list中。 2.在list中修改資料 3.再新建一個txt檔案,按行存入資料。記得新增 ‘/n’ 分行 例項
python 處理CSV檔案
讀取 import csv with open('test.csv','r',encoding='utf8') as csvfile: reader = csv.reader(csvfile) for i in reader: print(i) 寫
Python將txt檔案變為excel檔案
首選展示一下txt檔案 轉變為excel檔案如下: 具體程式碼如下: txtname = 'baifenbi1.txt' excelname = '2.xlsx' fopen = open(txtname, 'r') lines = fopen.readlines()
python之.txt檔案讀取小結
一.按行讀取.txt檔案。 方法1. 用next函式去讀取行,首先建立reader,每next一下,指標就往下讀取一行,而且要注意,雖然reader用print函式是打不開裡面的內容的,但是在reader內部,csv表格是按行儲存在reader中的。 import csv filename_
用python從txt檔案中讀入資料
現在有如下資料集儲存在txt檔案中,利用python逐行讀取資料到list型別下。 1.658985 4.285136 -3.453687 3.424321 4.838138 -1.151539 -5.379713 -3.362104 0.972564
使用Python處理Excel檔案的一些程式碼示例
筆記:使用Python處理Excel檔案的一些程式碼示例,以下程式碼來自於《Python資料分析基礎》一書,有刪改 #!/usr/bin/env python3 # 匯入讀取Excel檔案的庫,xlrd,其中的 open_workbook 為讀取工作簿 from xlrd import open_wo
Python處理word檔案
python對word檔案進行讀寫和複製 import win32conimport win32com.clientimport os#讀取word檔案def readWoldFile(path): #呼叫系統word功能,可以處理doc和docx檔案 mw=win32com.client.Dispatch
python操作txt檔案中資料教程[1]-使用python讀寫txt檔案
python操作txt檔案中資料教程[1]-使用python讀寫txt檔案 覺得有用的話,歡迎一起討論相互學習~Follow Me 原始txt檔案 程式實現後結果 程式實現 filename = './test/test.txt' contents = [] DNA_sequence
python操作txt檔案中資料教程[2]-python提取txt檔案
python操作txt檔案中資料教程[2]-python提取txt檔案中的行列元素 覺得有用的話,歡迎一起討論相互學習~Follow Me 原始txt檔案 程式實現後結果-將txt中元素提取並儲存在csv中 程式實現 import csv filename = "./test/te
python操作txt檔案中資料教程[3]-python讀取資料夾中所有txt檔案並將資料轉為csv檔案
python操作txt檔案中資料教程[3]-python讀取資料夾中所有txt檔案並將資料轉為csv檔案 覺得有用的話,歡迎一起討論相互學習~Follow Me 參考文獻 python操作txt檔案中資料教程[1]-使用python讀寫txt檔案 python操作txt檔案中資料教程[2]-pyth
Python處理excel檔案
Python處理excel檔案 這裡只介紹幾種常用的庫。對於2003以前的excel版本,即.xls檔案,只能用xlrd和xlwt庫來處理;對於2003及以後的excel檔案,即.xlsx檔案,需要使用openpyxl庫來處理,這裡著重介紹這三個第三方庫。 注:Workboo
Python讀取TXT檔案時出現“ufeff“字元
Python讀取TXT檔案時出現“\ufeff“字元 文章目錄 Python讀取TXT檔案時出現“\ufeff“字元 問題描述: 原因: 解決方案:
Python讀取txt檔案的三種方式
文字處理是經常碰到的一個問題,Python的文字讀取有三個方法可以呼叫: read() readaline() readlines() 直接看名字就大概能猜出什麼意思。 第一個函式就是直接把文字內容全部讀取出來 第二個函式是逐行讀取 第三個函式是逐行全部讀取
python讀txt檔案讀資料,然後修改資料,再以矩陣形式儲存在檔案中
import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' # -*- coding: UTF-8 -*- import numpy as np import glob import tensorflow as tf flag=T