В настоящее время работает над программой на Python, которая должна взять данные из текстового файла и ввести их в соответствующее место в SQLite. Я создал свою базу данных и столбцы, теперь я застрял в том, как я обрабатываю текстовые данные и считываю их в базу данных sqlite.
Вот пара строк из текстового файла.
Kernel version: Windows 10 Enterprise, Multiprocessor Free
Product type: Professional
Product version: 6.3
Service pack: 0
Вот что у меня есть,
import sqlite3
conn = sqlite3.connect('systeminfo.db')
c = conn.cursor()
def create_table():
c.execute("""CREATE TABLE IF NOT EXISTS system_information (
Machine_Name text,
Kernel_version text,
Product_type text,
product_version text,
Registered_organization text,
registered_owner text,
system_root text,
processors text,
physical_memory text
)""")
create_table1()
Это создает мою базу данных и мою таблицу именно так, как я хочу, теперь я застрял на том, чтобы взять, например, версию ядра из текстового файла и поместить «Windows 10 Enterprise» в базу данных под столбцом Kernel_Version.
UPDATE :
После использования подсказок @zedfoxus я смог успешно получить данные, вот что у меня есть, теперь, как я могу сделать следующие строки более эффективными? Я использую elif, получаю ошибки,
def insert_data(psinfo):
with open(psinfo) as f:
file_data = f.readlines()
for item in file_data:
if 'Kernel version' in item:
info = item.strip().split(':')
val = info[1].strip().split(',')
elif 'Product type' in item:
info = item.strip().split(':')
val = info[1].strip().split(',')
c.execute(
'INSERT INTO system_information (Kernel_version,Product_type ) values(?,?)',
(val[1].strip(),)
)
conn.commit()