У меня есть тысячи *.db
файлов, содержащих данные датчика. Все *.db
файлы имеют такую же структуру, как, ID,MACID,RSSI,ENTRY,EXIT,DEVICEID,UNIQUEID
. Я видел похожий вопрос типа этот , но решение не работает для меня.
Что я пробовал до сих пор:
Изначально DB Browser for SQLite
пытался индивидуально преобразовать каждый *.db
в .csv
формат. Это много копи-пасты, и я ненавидел это!
Используя онлайн-форумы, создали временный скрипт следующим образом;
import sqlite3
from sqlite3 import Error
import pandas as pd
dataPath = "path_to_a_single_db_file"
# create database connection
conn = sqlite3.connect(dataPath)
# a custom function to create database connection
# Reference: http://www.sqlitetutorial.net/sqlite-python/sqlite-python-select/
def create_connection(db_file):
try:
conn = sqlite3.connect(db_file)
return conn
except Error as e:
print(e)
return None
# create a function for reading & writing the Wifi table
def read_write_wifi_tbl_to_csv(conn):
cur = conn.cursor()
query='select * from WIFI'
data=pd.read_sql(query,conn)
data.to_csv('export.csv')
def main():
# create a database connection
conn = create_connection(dataPath)
with conn:
print("1. Query and writing to Wifi table")
read_write_wifi_tbl_to_csv(conn)
if __name__ == '__main__':
main()
Приведенный выше фрагмент кода хорошо работает для одного файла БД. Как заставить это работать для нескольких файлов БД.