在 python 中的关键字前退格并添加逗号
Backspace and add comma before keyword in python
我需要在文件中 'https:' 的每个实例之前退格并添加一个逗号。我相信正则表达式可以做到这一点,但我不确定怎么做。
下面这行是我想要的。
2021-05-11 23:39:30,https://www.tiktokv.com/share/video/
当前格式是这样的:
2021-05-11 23:35:41
https://www.tiktokv.com/share/video/
将正则表达式与模式一起使用 r"(\n)(?=https)"
例如:
s = """2021-05-11 23:35:41
https://www.tiktokv.com/share/video/
2021-05-11 23:35:41
https://www.tiktokv.com/share/video/
2021-05-11 23:35:41
https://www.tiktokv.com/share/video/"""
print(re.sub(r"(\n)(?=https)", r",", s))
输出:
2021-05-11 23:35:41,https://www.tiktokv.com/share/video/
2021-05-11 23:35:41,https://www.tiktokv.com/share/video/
2021-05-11 23:35:41,https://www.tiktokv.com/share/video/
没有正则表达式
from io import StringIO
s = StringIO("""2021-05-11 23:35:41
https://www.tiktokv.com/share/video/
2021-05-11 23:35:41
https://www.tiktokv.com/share/video/
2021-05-11 23:35:41
https://www.tiktokv.com/share/video/""")
res = []
for idx, line in enumerate(s, 1):
if idx % 2 == 0:
res[-1] += f',{line}'
else:
res.append(line.strip())
print(res)
输出:
['2021-05-11 23:35:41,https://www.tiktokv.com/share/video/\n',
'2021-05-11 23:35:41,https://www.tiktokv.com/share/video/\n',
'2021-05-11 23:35:41,https://www.tiktokv.com/share/video/']
我想您可以直接阅读文件,将所有行添加到列表中。然后使用','.join()
格式化并将新字符串写入另一个文件。
file = open('test.txt')
rows = [row.strip() for row in file]
newfile = open('test2.txt','w')
newfile.write(','.join(rows))
我需要在文件中 'https:' 的每个实例之前退格并添加一个逗号。我相信正则表达式可以做到这一点,但我不确定怎么做。
下面这行是我想要的。
2021-05-11 23:39:30,https://www.tiktokv.com/share/video/
当前格式是这样的:
2021-05-11 23:35:41
https://www.tiktokv.com/share/video/
将正则表达式与模式一起使用 r"(\n)(?=https)"
例如:
s = """2021-05-11 23:35:41
https://www.tiktokv.com/share/video/
2021-05-11 23:35:41
https://www.tiktokv.com/share/video/
2021-05-11 23:35:41
https://www.tiktokv.com/share/video/"""
print(re.sub(r"(\n)(?=https)", r",", s))
输出:
2021-05-11 23:35:41,https://www.tiktokv.com/share/video/
2021-05-11 23:35:41,https://www.tiktokv.com/share/video/
2021-05-11 23:35:41,https://www.tiktokv.com/share/video/
没有正则表达式
from io import StringIO
s = StringIO("""2021-05-11 23:35:41
https://www.tiktokv.com/share/video/
2021-05-11 23:35:41
https://www.tiktokv.com/share/video/
2021-05-11 23:35:41
https://www.tiktokv.com/share/video/""")
res = []
for idx, line in enumerate(s, 1):
if idx % 2 == 0:
res[-1] += f',{line}'
else:
res.append(line.strip())
print(res)
输出:
['2021-05-11 23:35:41,https://www.tiktokv.com/share/video/\n',
'2021-05-11 23:35:41,https://www.tiktokv.com/share/video/\n',
'2021-05-11 23:35:41,https://www.tiktokv.com/share/video/']
我想您可以直接阅读文件,将所有行添加到列表中。然后使用','.join()
格式化并将新字符串写入另一个文件。
file = open('test.txt')
rows = [row.strip() for row in file]
newfile = open('test2.txt','w')
newfile.write(','.join(rows))