Проблема чтения строк в формате csv, содержащем данные формата html - PullRequest
0 голосов
/ 04 марта 2020

У меня есть один html файл с таблицей в нем. Всего строк в таблицах около 3500. Я хочу читать и печатать строки с одинаковыми значениями. PFA Изображение данных html. enter image description here Я преобразую данные в CSV, где я могу видеть те же данные в формате html. Как показано на рисунке. Я хочу напечатать и записать все строки, содержащие «MyData» в другой CSV, а затем нужно отправить его по почте. Я пытался использовать Soupbeautiful , но не смог получить результат. Я попытался использовать CSV и Pandas, но он не возвращает ожидаемый результат. Мой код python выглядит следующим образом:

import csv
import numpy as np
import pandas as pd
import sys
csv.field_size_limit(sys.maxsize)    
df = pd.read_csv('test.csv')    
data = print (df.iloc[0:5])

Другой код, который я пробовал

search_string = "MyData"
 with open('test.csv') as f, open('test2.csv', 'w') as g:
    reader = csv.reader(f)
    next(reader, None) # discard the header
    writer = csv.writer(g)
    for row in reader:
        if row[2] == search_string:
            writer.writerow(row[:2])
            print(row)  

Когда я ввожу полную строку из info_data , тогда он дает мне этот конкретный строка, но не другие строки, где присутствует строка «MyData». Спасибо!

1 Ответ

0 голосов
/ 04 марта 2020

В настоящее время вы проверяете запись на точное совпадение со строкой поиска. Эта запись содержит строку JSON, так что вы можете использовать in, чтобы увидеть, содержит ли она search_string, а не точное ее соответствие, например:

search_string = "MyData"

with open('test.csv') as f, open('test2.csv', 'w') as g:
    reader = csv.reader(f)
    next(reader, None) # discard the header
    writer = csv.writer(g)

    for row in reader:
        if search_string in row[2]:
            writer.writerow(row[:2])
            print(row)  

Затем вы захотите добавьте код для дальнейшей расшифровки данных JSON.

...