python - 从 ipyton Notebook 下载 SQL 数据库
问题描述
我正在通过 Notebook 处理 python,目前我正在通过 python 处理 SQL。我正在尝试下载 SQL 数据库或将其更改为 csv 然后再下载。我知道已经通过 ipython Notebook 将数据帧下载到 csv 中,请参见下面我发现的内容:
第一:打开sql数据库,将一张表改成df
import sqlite3, sqlalchemy
import pandas as pd
db_name = "chinook.db"
table_name = "albums"
engine = sqlalchemy.create_engine("sqlite:///%s" % db_name, execution_options={"sqlite_raw_colnames": True})
df = pd.read_sql_table(table_name, engine)
然后我使用我的代码通过更改一行将数据帧下载到 csv 中:
import base64
import pandas as pd
from IPython.display import HTML
df1 = pd.read_sql_table(table_name, engine) #here the change
def create_download_link( df, title = "Download CSV file", filename = "data.csv"):
csv = df.to_csv(index=False)
b64 = base64.b64encode(csv.encode())
payload = b64.decode()
html = '<a download="{filename}" href="data:text/csv;base64,{payload}" target="_blank">{title}</a>'
html = html.format(payload=payload,title=title,filename=filename)
return HTML(html)
df = pd.DataFrame(data = df1)
create_download_link(df)
我在 csv 上得到了一个完美的数据框,但只有一张桌子。
我的数据库中有以下所有表格,因此如果一次一张地完成并合并所有表格,那就太棒了。
['albums', 'artists', 'customers', 'employees', 'genres', 'invoice_items', 'invoices', 'media_types', 'playlist_track', 'playlists', 'sqlite_sequence', 'sqlite_stat1', '曲目']
我试图但 > table_name =['albums','artists',...] 中的列表但我收到一个错误:TypeError: unhashable type:'list'
这是一个开始,但如果你们有任何想法,请告诉我
解决方案
推荐阅读
- javascript - 使用 .map 创建数组时 Node.js 内存泄漏
- c# - 如何设置全球化?
- python-3.x - 孩子启动。关闭这些管道的父级副本 PermissionError: [WinError 5] Access is denied
- c# - 控制台应用程序 - 如何访问 JSON 中的属性?
- c# - 你调用的对象是空的。MVC
- python - 将点表示法字符串转换为对象以访问 lxml 对象 python
- deeplearning4j - DL4J 中的迭代?
- javascript - 如何使用按位运算符 & 评估偶数和奇数
- reactjs - 为什么不返回
跑步? - python - Shutil.copytree ----> WindowsError: [错误3] 系统找不到指定的路径: