Прочитайте TXT-файл с разделенными точкой с запятой текстами, используя Python - PullRequest
0 голосов
/ 31 октября 2019

пример данных в текстовом файле выглядит следующим образом:

Выбрать * из таблицы1;Выберите * из таблицы2;выберите * из таблицы 3; выберите * из таблицы 4

Я хочу прочитать этот текст и разбить его на несколько строк через точку с запятой (;) и обрабатывать каждую строку отдельно. В основном каждая строка представляет запрос на выборку, который мне нужно запросить один за другим к базе данных

. Я пробовал код ниже, но получаю ошибку: AttributeError: у объекта 'list' нет атрибута 'split'

ListData = open(FilePath).readlines()
for line in ListData.split(';'):


data.append(line)

Также пробовал приведенный ниже код, но получал ошибку как AttributeError: у объекта '_io.TextIOWrapper' нет атрибута 'split'

with open(SQLFilePath) as f:
    for line in f.split(';'):
      data.append(line)

Спасибо

1 Ответ

0 голосов
/ 31 октября 2019

Попробуйте использовать для (). Например:

text='Select * from Table1; Select * from Table2; select * from table3;Select * from table4'
for t in text.split(';'):
    print(t)

Ответ:

Select * from Table1
 Select * from Table2
 select * from table3
Select * from table4

Если вы читаете данные из файла, вы можете использовать pandas:

import pandas as pd
df=pd.read_csv(r'C:\Users\Desktop\test.txt', header = None)
t=[]
for index, row in df.itertuples():
    t=t+str(row).split(';')

Консоль:

print(t)
['Select * from Table1', ' Select * from Table2', ' select * from table3', 'Select * from table4', 'Select * from Table1', ' Select * from Table2', ' select * from table3', 'Select * from table4']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...