Как заменить строку, содержащую кавычки в python? - PullRequest
0 голосов
/ 06 мая 2020

У меня в CSV-файле есть примерно HTML код. enter image description here

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 код):

image

и так на.

Я пытался использовать следующий код для этого, но это не удалось. Я хочу заменить на пустой.

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)

В новом файле по-прежнему отображается эта строка. Не знаю, что решать.

1 Ответ

0 голосов
/ 06 мая 2020

Я не совсем уверен, что вы хотите, но второй оператор замены, который вы пробовали, у меня сработал. Вам не нужно экранировать кавычки ("). Если вы хотите заменить только выражения stati c, вам даже не нужно использовать регулярное выражение, вы также можете использовать метод Python s replace() типа string:

image
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...