簡體   English   中英

如何在python或R中以編程方式將多個db文件轉換為csv?

[英]How to programmatically convert multiple db files to csv in python or R?

我有數千個包含傳感器數據的*.db文件。 所有*.db文件都具有相同的結構,如ID,MACID,RSSI,ENTRY,EXIT,DEVICEID,UNIQUEID 我曾見過這樣一個類似的問題這一個,但解決方案並不為我工作。

到目前為止我嘗試過的:

  1. 最初嘗試DB Browser for SQLite將每個*.db單獨轉換為.csv格式。 這是很多復制粘貼,我討厭它!

  2. 使用在線論壇,創建了一個臨時腳本如下;

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()

上面的代碼片段適用於單個 db 文件。 如何使其適用於多個 db 文件。

如果你使用python,

使用 sqlite 和 csv 包將每個 sqlite .db 文件轉換為 csv 文件。

然后使用 pandas 讀取所有 csv 文件並使用 pandas 寫入單個 csv 文件。

編輯:嗯,不需要熊貓,您可以直接寫入單個 csv 文件。

編輯 2:這是一個快速筆記本: https : //github.com/darshanz/CombineMultipleSqliteToCsv

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM