簡體   English   中英

括號列表之間的提取 Python

[英]Extract between parenthesis list Python

我有一個要提取的 txt 文件中的大列表,我已經找了好幾天了,但沒有運氣......我會感謝任何可以幫助我的人......它將為我節省數月和數月的工作非常感謝!

My code:
import re
import os
import requests
from bs4 import BeautifulSoup
def n(f):
    s = []
    for l in range(1):
        l = f.readline()
        if l:
            s.append(l)
    return s
b = open("lol.txt",'r', encoding='utf8')
c = n(b)
while len(c) > 0:
    for l in c:
        s = re.findall(r'\((.*?) *\)',l)
        print(s, sep='\n')
    c = n(b)
b.close()
Input:
(1,'4556','Книга включает в себя теорию действительных чисел, теорию пределов, теорию непрерывности функций, дифференциальное и интегральное исчисления функций одной переменной и их приложения, дифференциальное исчисление функций многих переменных и теорию неявных функций','','2011-01-29 09:31:10'),(2,'4557','Учебник представляет собой вторую часть (ч.1 - 1985) курса математического анализа. В книге рассмотрены теория числовых и функциональных рядов, теория кратных, криволинейных и поверхностных интегралов, теория поля (включая дифференциальные формы), теория интегралов, зависящих от параметра, и теория рядов и интегралов Фурье. Особенность книги - три четко отделяемых друг от друга уровня изложения: облегченный, основной и повышенный, что позволяет использовать ее как студентам технических ВУЗов с углубленным изучением математического анализа, так и студентам механико-математических факультетов университетов.','','2013-08-18 20:38:22')
# I want this type of Output
Output:
(1,'4556','Книга включает в себя теорию действительных чисел, теорию пределов, теорию непрерывности функций, дифференциальное и интегральное исчисления функций одной переменной и их приложения, дифференциальное исчисление функций многих переменных и теорию неявных функций','','2011-01-29 09:31:10')
(2,'4557','Учебник представляет собой вторую часть (ч.1 - 1985) курса математического анализа. В книге рассмотрены теория числовых и функциональных рядов, теория кратных, криволинейных и поверхностных интегралов, теория поля (включая дифференциальные формы), теория интегралов, зависящих от параметра, и теория рядов и интегралов Фурье. Особенность книги - три четко отделяемых друг от друга уровня изложения: облегченный, основной и повышенный, что позволяет использовать ее как студентам технических ВУЗов с углубленным изучением математического анализа, так и студентам механико-математических факультетов университетов.','','2013-08-18 20:38:22')

我不明白你想要什么,但這是我的嘗試:

with open('lol.txt', '+r') as f:
    data = [l for l in eval(f.read())]

print('Output:\n')
for d in data:
    print(d)

代碼

選項 1--使用ast

import ast

with open('a.txt', 'r', encoding='utf8') as f:
    for x in ast.literal_eval(f.read()):
        print(x)

選項 2--使用正則表達式

import re

with open('a.txt', 'r', encoding='utf8') as f:
    for line in f:
        for x in re.findall(r"\(\d+,\'.*?\'\)", line):
            print(x)

Output(兩個選項)

(1,'4556','Книга включает в себя теорию действительных чисел, теорию пределов, теорию непрерывности функций, дифференциальное и интегральное исчисления функций одной переменной и их приложения, дифференциальное исчисление функций многих переменных и теорию неявных функций','','2011-01-29 09:31:10')
(2,'4557','Учебник представляет собой вторую часть (ч.1 - 1985) курса математического анализа. В книге рассмотрены теория числовых и функциональных рядов, теория кратных, криволинейных и поверхностных интегралов, теория поля (включая дифференциальные формы), теория интегралов, зависящих от параметра, и теория рядов и интегралов Фурье. Особенность книги - три четко отделяемых друг от друга уровня изложения: облегченный, основной и повышенный, что позволяет использовать ее как студентам технических ВУЗов с углубленным изучением математического анализа, так и студентам механико-математических факультетов университетов.','','2013-08-18 20:38:22')

正則表達式解釋

正則表達式模式: r"(\d+,'.*?')"

\(                        - start with left paren 
\d+                      - one or more digits 
,                        - comma 
\'                       - single quote 
.*?                      - lazy wildcard character match
\'                       - single quote 
\)                       - closing paren

您只需要編寫 3 行代碼。

with open("lol.txt", encoding = 'utf-8') as f:
    for line in eval(f.read()):
        print(line)

輸入:

Input:
(1,'4556','Книга включает в себя теорию действительных чисел, теорию пределов, теорию непрерывности функций, дифференциальное и интегральное исчисления функций одной переменной и их приложения, дифференциальное исчисление функций многих переменных и теорию неявных функций','','2011-01-29 09:31:10'),(2,'4557','Учебник представляет собой вторую часть (ч.1 - 1985) курса математического анализа. В книге рассмотрены теория числовых и функциональных рядов, теория кратных, криволинейных и поверхностных интегралов, теория поля (включая дифференциальные формы), теория интегралов, зависящих от параметра, и теория рядов и интегралов Фурье. Особенность книги - три четко отделяемых друг от друга уровня изложения: облегченный, основной и повышенный, что позволяет использовать ее как студентам технических ВУЗов с углубленным изучением математического анализа, так и студентам механико-математических факультетов университетов.','','2013-08-18 20:38:22')

Output:

(1,'4556','Книга включает в себя теорию действительных чисел, теорию пределов, теорию непрерывности функций, дифференциальное и интегральное исчисления функций одной переменной и их приложения, дифференциальное исчисление функций многих переменных и теорию неявных функций','','2011-01-29 09:31:10')
(2,'4557','Учебник представляет собой вторую часть (ч.1 - 1985) курса математического анализа. В книге рассмотрены теория числовых и функциональных рядов, теория кратных, криволинейных и поверхностных интегралов, теория поля (включая дифференциальные формы), теория интегралов, зависящих от параметра, и теория рядов и интегралов Фурье. Особенность книги - три четко отделяемых друг от друга уровня изложения: облегченный, основной и повышенный, что позволяет использовать ее как студентам технических ВУЗов с углубленным изучением математического анализа, так и студентам механико-математических факультетов университетов.','','2013-08-18 20:38:22')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM