python - 如何在python中替换包含引号的字符串?
问题描述
import pandas as pd
import numpy as np
import csv
import seaborn as sns
import re
import os
pd.set_option("display.max_rows",1000000000)
pd.set_option("display.max_columns",1000000000)
dirs = os.listdir('DataCollectionCA/')
for i in dirs:
if os.path.splitext(i)[1] == ".csv":
print(i)
dirss = 'DataCollectionCA/'
print("<div class=\"\"ContentGrid\"\">")
df = pd.read_csv(dirss+"7197409.csv") #導入資料
df_num = len(df) #計算有多少行
print(df_num)
real_df_num = df_num+1
with open ('719740999999.csv', 'a' ,newline='', encoding="utf-8") as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['互動作者','發表時間','互動內容'])
for post in range(1,real_df_num):
with open (dirss+'7197409.csv', newline='', encoding="utf-8") as csvfile:
reader = csv.reader(csvfile)
column0 = [row[0] for row in reader]
for i, rows in enumerate(column0):
if i == post:
row000 = rows
with open (dirss+'7197409.csv', newline='', encoding="utf-8") as csvfile:
reader = csv.reader(csvfile)
column1 = [row[1] for row in reader]
for j, rows in enumerate(column1):
if j == post:
row001 = rows
with open (dirss+'7197409.csv', newline='', encoding="utf-8") as csvfile:
reader = csv.reader(csvfile)
column2 = [row[2] for row in reader]
for k, rows in enumerate(column2):
if k == post:
row002 = rows
author = row000
res_time = row001
original_html_code = row002
new_html_code_01 = original_html_code.replace('"<div class=""ContentGrid"">', " ")
new_html_code_02 = new_html_code_01.replace('<br>', " ")
print(new_html_code_02)
print("======")
with open ('719740999999.csv', 'a' ,newline='', encoding="utf-8") as csvfile:
writer = csv.writer(csvfile)
writer.writerow([author,res_time,new_html_code_02])
我想用 Python 来替换下面的字符串(它是 HTML 代码):
"<div class=""ContentGrid"">
<img data-icons="":~("" src=""
"" onload=""DrawImage(this)"" width=""300"" height=""617"">
等等。
我尝试使用以下代码来执行此操作,但失败了。我想替换为空白。
new_html_code_02 = re.sub('<div class=\"\"ContentGrid\"\">', " ", new_html_code_01)
new_html_code_02 = re.sub('<div class=""ContentGrid"">', " ", new_html_code_01)
新文件仍然显示这些字符串。我不知道要解决什么。
解决方案
我不确定您想要什么,但是您尝试的第二个替换语句对我有用。您不需要转义 qoutes ( "
)。如果你只想替换静态表达式,你甚至不需要使用正则表达式,你也可以使用 Python 的类型replace()
方法string
:
import re
html = '<div class=""ContentGrid"">' \
'<img data-icons="":~("" src=""' \
'"" onload=""DrawImage(this)"" width=""300"" height=""617"">'
new_html = re.sub('<div class=""ContentGrid"">', " ", html)
print(new_html)
new_html = html.replace('<div class=""ContentGrid"">', " ")
print(new_html)
推荐阅读
- java - 如何发送 base64 格式的大文件?
- nuxt.js - NuxtJS HighCharts Series 数据只更新一次
- spacy - 如何在 spaCy 3.0 中使用 Hugging Face 变压器
- php - 如何使用php在我的sql数据库的不同列中添加数组元素
- javascript - Django CSRF 验证失败。请求中止。错误
- javascript - 如何在useState React Hooks中将对象连接到对象数组中的特定对象
- javascript - 在Vue.js 2.0中选中复选框时如何将类添加到父元素
- apache-spark - 为什么执行程序条目在 spark web ui 中不可见
- flutter - 在 PageView 中使用 video_player 出现 Flutter 性能问题/Jank
- grafana - Grafana 查询以每天从同一时间生成累积总和