データ コンバーターは、さまざまな形式間のデータ インベントリを、SQL、CSV、JSON、XML などの使用したい形式に変換するのに役立ちます。API や API を通じて B2B 見込み顧客などの連絡可能なデータを販売することでデータを収益化する方法をお探しの場合SaaS。この記事は、SQL と CSV でのデータ インベントリの管理に役立つと思います。
そこでこの章では、CSV または Google スプレッドシートのデータ在庫を SQL に変換するデータ コンバーターを構築する方法を説明します。逆に、SQL を CSV または Google スプレッドシートに変換する方法も説明します。このチュートリアルでは Sqlite3 を使用します。これは通常、開発者がアプリケーションを構築するのに適しています。この方法論は SQL と共有されます。
目次: データコンバータ
- CSV から SQL へのコンバーター
- Google スプレッドシートから SQL へのコンバーター
- SQLからCSVへのコンバーター
- SQL から Google シートへのコンバーター
- CSV から SQL、SQL から CSV、SQL から Google Sheet に変換するデータコンバーターの完全なPython スクリプト
- よくある質問
データコンバータ – CSV から SQL
データ コンバーターの構築には、5 つの Sqlite3 クラスとメソッドに加え、CSV とパンダが使用されます。
Connect()
– SQLite データベースへの接続の作成
sqlite3 connect()
関数は、ファイルに保持されている SQLite データベースと対話するために使用するConnectionオブジェクトを返します。たとえば、ここでは b2bcontacts.DB に新しい DB ファイル名を作成します。
connection = sqlite3.connect("ceInfluencer.db")
Cursor() and Execute()
– DB ファイルに新しいデータテーブルを作成します
sqlite3。 Cursor クラスは、SQLite ステートメントを実行し、クエリの結果セットからデータをフェッチするメソッドを呼び出すことができるインスタンスです。 Connection オブジェクトおよびクラスのcursor()
メソッドを使用して、Cursor オブジェクトを作成できます。
cursor = connection.cursor()
次に、sqlite3のexecuteは、必要なものを実行するコードまたはスクリプトを実行するコマンドです。ここでは、prospect という名前の新しいテーブルを作成する必要があります。プロスペクトテーブル内。また、列名を追加し、テキスト、整数、浮動小数点などのデータ型を分類する必要があります。また、列名の先頭と末尾にそれぞれ「 ‘」があります。
cur. sor.execute('''CREATE TABLE prospect(Category TEXT, Quality_Score TEXT, Country TEXT, B2BLead_Name TEXT, Email Contact TEXT)''')
さらに、DB ファイルにデータを挿入するための CSV と Pandas
ここで、すでに CSV ファイルにある B2B 連絡先データを生成し、すぐに SQL にフィードできる形式に変換する必要があります。上でアプリケーションで使用される DB ファイルに新しいヘッダーを作成したため、ここではヘッダーを削除する必要があります。最後に、Pandas を使用してデータを追加してデータフレーム化するだけです。
B2BData = []
with open("B2Bdata_Inventory.csv","r") as csv_file:
csv_reading = csv.reader(csv_file)
header = next(csv_reading)
if header != None:
for i in csv_reading:
column1 = i[0:]
B2BData.append(column1)
df = pd.DataFrame(influencerData)
データの各行を DB ファイルに挿入するには、df データの長さでループを作成する必要があります。ここで注意しなければならない箇所が 2 つあります。 1 つは、疑問符を追加する必要がある VALUES メソッドです。それらの合計は、上で作成した列の数と同じです。
for item in range(len(df)):
cursor.execute('''INSERT INTO influencer VALUES(?,?,?,?,?)''', df.iloc[item])
次に、item 変数に割り当てられた整数のリストを使用して、df.iloc[item] を使用してそれを db ファイルに挿入できます。これは、df データの各行を挿入するコマンドを意味します。たとえば、df データに 100 行がある場合、100 回ループします。
Commit () and Close ()
コミット方法では、すべての変更がデータベース ファイルに確実に保存され、その後スクリプトを閉じることができます。
データコンバータ – Google Sheet から SQL
CSV から SQL への場合との違いは、最初に Google シートを取得し、パンダを使用してデータフレーム化することです。残りの手順は上記と同じです。
Google Sheet データを取得するには、gspread モジュールを使用できます。
scope = ['https://www.googleapis.com/auth/spreadsheets','https://www.googleapis.com/auth/drive.file','https://www.googleapis.com/auth/drive']
creds = ServiceAccountCredentials.from_json_keyfile_name('theGoogleServiceAccountJsonFile.json', scope)
client = gspread.authorize(creds)
sh = client.open('theSheetName')
worksheet = sh.get_worksheet(theTabNumber)
vLookupValue = worksheet.get_values(theDataRange')
df = pd.DataFrame(vLookupValue)
データコンバーター – SQL から CSV へのコンバーター
CSV ファイルに変換したい DB ファイルに接続することが最初のステップです。次に、各行の db ファイル データを追加するループを作成する必要があります。最後に、データフレームを作成して CSV ファイルに保存するだけです。
connection = sqlite3.connect('googleCompetitor.db')
googleData = []
data = connection.cursor()
for column in data.execute('SELECT * FROM influencer'):
googleData.append(column)
df = pd.DataFrame(googleData)
print(df)
df.to_csv('competitorTesting.csv', encoding='utf-8-sig')
SQL から Google シートへのコンバーター
Google シートに接続して SQL データを出力することとは別に、変換されたデータを割り当てられたスプレッドシートにアップロードする必要があります。 gspread を使用する場合のサンプルは次のとおりです。
df = pd.DataFrame(googleData)
value_list = sh.values_update("testing!A1", params={'valueInputOption': 'USER_ENTERED'},body=dict(values=df.T.reset_index().T.values.tolist()))
CSV から SQL、SQL から CSV、SQL から Google Sheet に変換するデータコンバーターの完全な Python スクリプト
第 46 章の完全な Python スクリプトに興味がある場合: CSV から SQL、SQL から CSV、Google Sheets から SQL に変換するデ. ータ コンバーター「第46 章」というメッセージを追加してニュースレターを購読してください。 。スクリプトはすぐにあなたのメールボックスに送信されます。
第 46 章: CSV から SQL、SQL から CSV、Google Sheets から SQL に変換するデータコンバーターをお読みいただければ幸いです。もしそうなら、以下にリストされているいずれかの方法で私たちをサポートしてください。それは常に私たちのチャンネルに役立ちます。
- PayPal ( paypal.me/Easy2digital ) を通じて私たちのチャンネルをサポートし、寄付してください。
- 私のチャンネルを購読し、 Easy2Digital Youtube チャンネルの通知ベルをオンにしてください。
- Easy2Digital Facebook ページをフォローして「いいね!」してください
- ハッシュタグ #easy2digital を付けて記事をソーシャル ネットワークで共有してください
- Easy2Digital 10% OFF 割引コード ( Easy2DigitalNewBuyers2021)を使用して製品を購入します
- Easy2Digital の最新記事、ビデオ、割引コードを受け取るには、毎週のニュースレターに登録してください。
- Patreon を通じて月額メンバーシップに登録すると、限定特典をお楽しみいただけます ( www.patreon.com/louisludigital )