gpt4 book ai didi

python - 不同行的文本替换

转载 作者:行者123 更新时间:2023-12-01 04:02:15 24 4
gpt4 key购买 nike

我在一个文件中有多个条目,如下所述。

 "Item_1";"Item_1";"Products///Item///ABC///XYZ";"Item_1.jpg}";"";"Buy item
<br><strong>Items</strong>
<br><strong>Time</strong>";"";"";"";"";"";"Category: M[Item]";"";"";"Y";"N";"N";"None";""

"Item_2";....

在上面的文本中,第一行“购买商品”后面和第二行“/strong>”后面有一个换行符。

我想要做的改变是 -

1. Replace Products///Item///ABC///XYZ with Products///ABC///XYZ
2. Replace "Category: M[Item]" with "Category: M[ABC]"
3. In case if Entry 1 is Products///Item///ABC or Products///ABC, I dont want to change "Category: M[Item]" with "Category: M[ABC]", just change Products///Item///ABC to Products///ABC

我试图逐行读取整个文件,然后按“///”分割,存储条目数并存储第三个条目。但这会产生问题,因为我有多个换行符。

有没有更简单的方法通过使用正则表达式或其他方法来做到这一点?

最佳答案

就像@Casimir建议的那样,您可以使用csv模块来解析您的文件(因为它将处理换行符),如下所示

import csv

with open(your_filename) as f:
reader = csv.reader(f, delimeter=';', quotechar='"')

rows = list(reader)

然后对解析结果执行您想要的操作(我不太确定您想要在这里实现什么,如果这不是您想要的,请发表评论)

for row in rows:
if 'Products///Item///ABC///XY' in row:
index = row.index('Products///Item///ABC///XY')
row[index] = 'Products///ABC///XYZ'
continue # If we replaced the first thing, skip to next row
elif 'Category: M[Item]' in row:
index = row.index('Category: M[Item]')
row[index] = 'Category: M[ABC]'

关于python - 不同行的文本替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36272003/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com