Python--逐行拼接两个TXT文件、列表写入TXT文件、取出TXT中每一行中由.隔开的和/隔开的部分

with open('images.txt','r') as fa: # 读取需要拼接的前面那个TXT

    with open('bounding_boxes.txt','r') as fb: #读取需要拼接的后面那个TXT

        with open('result.txt','w') as fc: # 写入新的TXT

            for line in fa:

                fc.write(line.strip('\r\n')) #用于移除字符串头尾指定的字符

                fc.write(fb.readline())

需求是:需要将两个等行的TXT文件进行逐行拼接,放到一个新的TXT

 

 

file = open(filename,'a')
for i in range(len(data)):
    ######### 去掉列表格式的操作##############
    s = str(data[i]).replace('[','').replace(']','')  # 去除[],这两行按数据不同,可以选择
    s = s.replace("'",'').replace(',','') +'\n'  # 去除单引号,逗号,每行末尾追加换行符
    ######################################
    file.write(s)
file.close()

需求是:将列表写入TXT文件

 

f = open('label/after.txt')
line = f.readline()
list = []
while line:
    line = f.readline()
    data_list = line.split('/')
    list.append(data_list[0])
    # print(data_list[0])
print(list)
f.close()

需求:TXT中是一行一行的文件夹目录,想提取出第一级目录。

想法是:所谓的大象装进冰箱

读入

一行一行读取

建立一个列表

逐行读取

按照目录间的分隔符进行切分

将切分出来的0索引的部分放到列表中

最后输出列表

总的需求就是:

需要将两个TXT(A)(B)逐行拼接,

(A)(B)(C)

而且还需要将一个TXT(A)里的每行中的其中一部分(C)在拼接之后再次进行拼接。需要取.与/之间的内容放入TXT,再次进行拼接

想法是:

先进行拼接

然后取.与/之间的内容

/分隔

.分隔(哈哈,这个想法是临时才有的,本来想用下标索引,因为这个下标是固定的,/下标不固定哈哈哈我太机智了)

所以总的代码就是

# 1、先拼接
with open('label/images.txt','r') as fa: # 读取需要拼接的前面那个TXT
    with open('label/bounding_boxes.txt','r') as fb: #读取需要拼接的后面那个TXT
        with open('label/join1.txt','w') as fc: # 写入新的TXT
            for line in fa:
                fc.write(line.strip('\r\n')) #用于移除字符串头尾指定的字符
                fc.write(fb.readline())
# 取出空格隔开的第二部分
import codecs
# todo 提取TXT中的某一列的某一部分写入另一个TXT
"""
先读取某一列到一个列表
再将列表写入TXT
"""


def text_save(filename, data):
    # text_save("after.txt",list1) 將列表去掉格式写入TXT
    # filename为写入CSV文件的路径,data为要写入数据列表.
    file = open(filename,'a')
    for i in range(len(data)):
        ######### 去掉列表格式的操作##############
        s = str(data[i]).replace('[','').replace(']','')  # 去除[],这两行按数据不同,可以选择
        s = s.replace("'",'').replace(',','') +'\n'  # 去除单引号,逗号,每行末尾追加换行符
        # s = s.replace("'", '').replace(',', '')
        ######################################
        file.write(s)
    file.close()
    print("保存文件成功")

f = codecs.open('label/images.txt', mode='r', encoding='utf-8') # 打开txt文件,以‘utf-8'编码读取
line = f.readline()  # 以行的形式进行读取文件
list1 = []
while line:
  a = line.split()
  b = a[1:2]  # 这是选取需要读取的位数
  list1.append(b) # 将其添加在列表之中
  line = f.readline()
f.close()
print(len(list1))

text_save("label/split1.txt",list1)
# 取出/隔开的第一部分
def text_save(filename, data):
    # text_save("after.txt",list1) 將列表去掉格式写入TXT
    # filename为写入CSV文件的路径,data为要写入数据列表.
    file = open(filename,'a')
    for i in range(len(data)):
        ######### 去掉列表格式的操作##############
        s = str(data[i]).replace('[','').replace(']','')  # 去除[],这两行按数据不同,可以选择
        s = s.replace("'",'').replace(',','') +'\n'  # 去除单引号,逗号,每行末尾追加换行符
        # s = s.replace("'", '').replace(',', '')
        ######################################
        file.write(s)
    file.close()
    print("保存文件成功")


f = open('label/split1.txt')
line = f.readline()
list0 = []
while line:
    data_list = line.split('/')
    list0.append(data_list[0])
    # print(data_list[0])
    line = f.readline()# 注意需要这一行的位置,放错可能会少读一行
    #
    # print(data_list[0])
# print(list0)
f.close()

text_save("label/split2.txt",list0)
# 取出/隔开的第一部分
def text_save(filename, data):
    # text_save("after.txt",list1) 將列表去掉格式写入TXT
    # filename为写入CSV文件的路径,data为要写入数据列表.
    file = open(filename,'a')
    for i in range(len(data)):
        ######### 去掉列表格式的操作##############
        s = str(data[i]).replace('[','').replace(']','')  # 去除[],这两行按数据不同,可以选择
        # s = s.replace("'",'').replace(',','') +'\n'  # 去除单引号,逗号,每行末尾追加换行符
        s = s.replace("'", '').replace(',', '')
        ######################################
        file.write(s)
    file.close()
    print("保存文件成功")


f = open('label/split2.txt')
line = f.readline()
list0 = []
while line:
    data_list = line.split('.')
    list0.append(data_list[1])
    # print(data_list[0])
    line = f.readline()# 注意需要这一行的位置,放错可能会少读一行
    #
    # print(data_list[0])
# print(list0)
f.close()

text_save("label/split3.txt",list0)
# 1、先拼接
with open('label/join1.txt','r') as fa: # 读取需要拼接的前面那个TXT
    with open('label/split3.txt','r') as fb: #读取需要拼接的后面那个TXT
        with open('label/final.txt','w') as fc: # 写入新的TXT
            for line in fa:
                fc.write(line.strip('\r\n')) #用于移除字符串头尾指定的字符
                fc.write(fb.readline())

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊,其实还是很开心的

虽然可能就那么几句代码,但是搞了一天算是一个收获吧!晚点再整理!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值