Python逐行读取txt文本,按符合分割词并逐行写入txt



背景Background:
我的txt文件里面存放的是搜索词,由于原始的query(搜索词)都是用/或者、来分割词,而我要达到的是每个词语是单独的一行,并且写入txt

第一步:按行读取txt文件
s = []
f  = open('querylist.txt','r') #由于我使用的pycharm已经设置完了路径,因此我直接写了文件名
for lines in f:
    # query_list.append(line.replace('/','').replace('、','').replace(' ','').strip('\n'))
    ls = lines.strip('\n').replace(' ','').replace('、','/').replace('?','').split('/')
    for i in ls:
        s.append(i)
f.close()
print(s)
第二步:逐行写入txt
把我们列表中s的每一个元素写入tet,一个元素为一行,方法有很多,我这里只列举一种
(提前在你的文件路径中建立好一个空的txt:query_result)
f1 = open('query_result.txt','w')
for j in s:
    f1.write(j+'\n')
f1.close()

  大功告成,最后我输出的结果是:

 

其他:分类汇总的反向操作

完整版:为每一个资源号ID下的query配置对应资源号
我现在有两个变量:资源ID 和对应的检索词,每个ID对应多个检索词,每个ID和对应的检索词成为一行,具体结构如下:
我希望能够实现:1)把每行的多个检索词分开成一个个的单词,每个单词占一行
2)每个检索词前面对应各自的ID
为了做这个,我做了一个实验:
# # d = {'37186':'高能少年团,高能王俊凯','37192':'世界杯'}
# cc = [['高能少年团','高能王俊凯'],['shijiebei','世界杯c罗']]
# nn = ['37186','37192']
# for i in range(0,2):
#     for j in cc[i]:
#         print(j+nn[i])

  

 
 
#step1:读取资源号ID
q_id = []
f2 = open('id.txt','r')
for lines in f2:
    q_id.append(lines.strip('\n'))
f2.close()
# print(q_id)
# print(len(q_id))

#step2:读取检索词(参照上两步)

s = []
f  = open('querylist.txt','r') #由于我使用的pycharm已经设置完了路径,因此我直接写了文件名
for lines in f:
    # query_list.append(line.replace('/','').replace('、','').replace(' ','').strip('\n'))
    ls = lines.strip('\n').replace(' ','').replace('、','/').replace('?','').split('/')
    for q in ls:
        if q == '':
            ls.remove('')
    s.append(ls) #这一步和上一步不同,是为了每一行的检索词单独成为一个列表中的小列表,后面才能实现对应到自己的资源号
f.close()
# print(s)
# print(len(s)) #要保证两个列表的长度相等,这里都是51个
if len(s) == len(q_id):
    print('长度相等')
#step3:对应ID和检索词,把这个结果写入空的txt:
dy = open('duiying.txt','w')

for i in range(0,52):
    for j in s[i]:
        print(q_id[i]+j)
        dy.write(q_id[i]+j+'\n')
dy.close()

 大功告成:结果如图所示:

之后copy到excel里,使用分割功能分割一下就好啦~~~~~~开熏

转载于:https://www.cnblogs.com/candy3026/p/9360532.html

### 回答1: 您好,可以使用Python中的base64和PIL库来实现逐行读取sql文本文件中的base64编码并转换成图片。具体步骤如下: 1. 打开sql文本文件并逐行读取数据。 2. 对每一行数据进行解码,使用base64库中的b64decode()函数将base64编码转换为二进制数据。 3. 将二进制数据转换为图片,使用PIL库中的Image.frombytes()函数将二进制数据转换为图片对象。 4. 保存图片,使用PIL库中的Image.save()函数将图片保存到本地。 希望对您有所帮助。 ### 回答2: 在Python中,我们可以使用以下步骤逐行读取SQL文本文件中的Base64编码并将其转换为图片: 1. 打开SQL文本文件,并逐行读取文件内容。 2. 对于每一行,使用正则表达式或其他方法提取出Base64编码的部分。 3. 使用`base64`模块的`b64decode()`函数将Base64编码解码为字节码数据。 4. 将字节码数据写入一个临时文件,使用文件扩展名来确定图片的格式(如.jpg、.png等)。 5. 使用`PIL`(Python Imaging Library)或其他图像处理库来打开临时文件,将其转换成图像对象。 6. 进行必要的图像处理操作,如保存到指定位置、显示图像等。 7. 重复上述步骤直到文件的所有行都被处理。 以下是一个简单的示例代码: ```python import re import base64 from PIL import Image import io # 打开SQL文本文件 with open('file.sql', 'r') as file: lines = file.readlines() # 逐行处理文件内容 for line in lines: # 提取Base64编码部分 match = re.search(r'base64,(.*)', line) if match: base64_data = match.group(1) # 将Base64编码解码为字节码 decoded_data = base64.b64decode(base64_data) # 将字节码写入临时文件 with open('temp_image.jpg', 'wb') as temp_file: temp_file.write(decoded_data) # 打开临时文件,并进行必要的图像处理操作 with Image.open('temp_image.jpg') as image: # 在这里可以将图像保存到指定位置,或进行其他处理操作 image.show() # 删除临时文件 os.remove('temp_image.jpg') ``` 请注意,这只是一个简单的示例,实际情况中可能需要根据具体需求进行调整和优化。同时,需要安装`PIL`库,可以使用`pip install pillow`命令进行安装。 ### 回答3: 使用Python逐行读取SQL文本文件中的base64编码并转换为图片的步骤如下: 1. 打开SQL文本文件,使用Python内置的open函数打开文件,并使用"r"模式读取文件内容。例如:`file = open("sql_file.txt", "r")`。 2. 逐行读取文件内容,使用for循环遍历文件中的每一行数据。例如:`for line in file:`。 3. 对于每一行数据,提取base64编码。一般来说,base64编码的格式为"data:image/png;base64,XXXXXXXXXX",其中"XXXXXXXXXX"是具体的编码内容。我们可以使用字符串处理方法,如split函数,将字符串按照逗号分割,并获取第二部分内容,即具体的编码。例如:`base64_code = line.split(",")[1]`。 4. 将base64编码转换为图片。可以使用Python的base64模块解码base64编码,并将解码后的结果保存为图片文件。例如: ```python import base64 # 解码base64编码 image_data = base64.b64decode(base64_code) # 保存为图片文件 with open("image.png", "wb") as image_file: image_file.write(image_data) ``` 5. 循环以上步骤,直到文件中的所有行都被处理完毕。 完整的代码示例: ```python import base64 # 打开SQL文本文件 file = open("sql_file.txt", "r") # 逐行读取文件内容 for line in file: # 提取base64编码 base64_code = line.split(",")[1] # 解码base64编码 image_data = base64.b64decode(base64_code) # 保存为图片文件 with open("image.png", "wb") as image_file: image_file.write(image_data) # 关闭文件 file.close() ``` 以上就是使用Python逐行读取SQL文本文件中的base64编码并转换为图片的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值