Итерации по таблицам SQL в Python

В настоящее время мой код выглядит примерно так.

best_Data = 
[[1,2,3,4,5,6],
 [10,11,12,13,14,15],
 [20,21,22,23,24,25]]

Это значение регулярно обновляется, и в настоящее время я фиксирую его каждые 15 минут и сохраняю на трех отдельных листах, каждый из которых содержит один из подсписок, которые обновляются каждые 15 минут по мере обновления данных. Например, wb1 будет обновлен с помощью [1,2,3,4,5,6], а wb2 получит [10,11,12,13,14,15] и так далее.

Это код, который я сейчас использую для этого:

for sheet in wb:        
        sheet.append(best_Data[m])
        m = m + 1
wb.save('Data.xlsx')

Однако на рабочих листах быстро заканчивается место, и я думаю о переходе на SQLite. Есть ли способ воспроизвести приведенный выше фрагмент кода, перебирая таблицы в SQLite, или мне придется его использовать методом перебора?

Метод грубой силы будет выглядеть примерно так.

c.execute("INSERT INTO Tbl1 VALUES (?,?,?,?,?,?,?,?,?,?)", best_Data[1])
c.execute("INSERT INTO Tbl2 VALUES (?,?,?,?,?,?,?,?,?,?)", best_Data[2])
c.execute("INSERT INTO Tbl3 VALUES (?,?,?,?,?,?,?,?,?,?)", best_Data[3])

Другая проблема заключается в том, что иногда данные неоднородны, например, счетчик выходит из строя и выдает ошибку. Достаточно ли гибок SQLite для этого метода грубой силы?

Первый раз задаете вопрос, подходит ли этот формат для всего / имеет ли вопрос смысл?

Peter 14.06.2018 23:05

Требуется более подробная информация о ваших данных, особенно о том, что означают разные строки. Вероятно, наиболее подходящей будет одна таблица базы данных с дополнительным столбцом, содержащим идентификатор, который различает строки, соответствующие best_Data [1], best_Data [2] и best_Data [3].

rd_nielsen 14.06.2018 23:09

Позвольте мне уточнить: можете ли вы определить свой best_data не как список списка, а как 3 независимые переменные best_data_1, best_data_2, best_data_3? А ваш процесс обновления можно разделить на 3 процесса независимый?

Alex Yu 14.06.2018 23:14

Действительно, если у вас есть обновление, зависящее от времени, почему бы даже не подумать о том, чтобы сделать строку вставок уникальной, используя метку времени в качестве идентификатора.

Shawn Mehan 14.06.2018 23:24

Ах, извините за это. Это данные о солнечной энергии, и есть 34 инвертора, которые я сейчас отправляю на 34 различных листа. Данные являются трехмерными (время x инвертор x измерение мощности), поэтому я бы предпочел иметь их в 34 разных таблицах, а не в одной огромной таблице данных, потому что было бы легче визуализировать / анализировать @lngaz, я, вероятно, могу сделать что-то вроде best_data1 = best_data [1] и т. д. ... но я не понимаю, почему это может помочь, потому что мне все равно придется использовать грубую силу на стороне SQL.

Peter 15.06.2018 05:17

Чтобы быть более конкретным, строки должны быть временем, столбцы будут (INV 1 Leg 1 Power, INV 1 Leg 1 Efficiency, INV 1 Leg 2 Power, ... INV 1 Leg 6 Efficiency), а таблицы будут иметь INV 1 - 34.

Peter 15.06.2018 05:34
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
0
6
234
0

Другие вопросы по теме