मेरे पास इस तरह की एक स्ट्रिंग के रूप में एक टेक्स्ट टेबल है और यह काफी लंबा है। इसे एक फाइल में भी लिखा जा सकता है,

+--------------+----------+---------+------------+
| Endpoint     | Table    | Request | Is Updated |
+--------------+----------+---------+------------+
| /api/test1   | test1    | True    | True       |
+--------------+----------+---------+------------+
| /api/test2   | test2    | False   | False      |
+--------------+----------+---------+------------+
| /api/test3   | test3    | False   | True       |
+--------------+----------+---------+------------+

मैं इसे एक पांडा डेटाफ्रेम में बदलना चाहता हूं। मेरा अपेक्षित आउटपुट यहां दिया गया है:

>>> import pandas as pd
>>> df = pd.DataFrame(
    {'Endpoint': ['/api/test1', '/api/test2', '/api/test3'],
     'Table': ['test1', 'test2', 'test3'],
    'Request': [True, False, False],
    'Is Updated': [True, False, True]},
)... ... ... ... ...
>>> df
     Endpoint  Table  Request  Is Updated
0  /api/test1  test1     True        True
1  /api/test2  test2    False       False
2  /api/test3  test3    False        True

अग्रिम में धन्यवाद।

2
E. Zeytinci 13 पद 2019, 14:11

1 उत्तर

सबसे बढ़िया उत्तर

IIUC, रेगेक्स को बदलने के लिए re.sub का उपयोग करें और < पढ़ने के लिए a href="https://docs.python.org/3/library/io.html" rel="noreferrer">io.StringIO:

import re
from io import StringIO


text = """
+--------------+----------+---------+------------+
| Endpoint     | Table    | Request | Is Updated |
+--------------+----------+---------+------------+
| /api/test1   | test1    | True    | True       |
+--------------+----------+---------+------------+
| /api/test2   | test2    | False   | False      |
+--------------+----------+---------+------------+
| /api/test3   | test3    | False   | True       |
+--------------+----------+---------+------------+
"""

df = pd.read_csv(StringIO(re.sub(r'[-+|]', '', text)), sep='\s{2,}', engine='python')
print(df)

आउटपुट:

     Endpoint  Table  Request  Is Updated
0  /api/test1  test1     True        True
1  /api/test2  test2    False       False
2  /api/test3  test3    False        True
7
Chris A 13 पद 2019, 14:33