我有一个tabledata.csv
文件和我一直在使用pandas.read_csv
阅读或选择具有特定条件的特定列。
例如,我使用以下代码来选择所有“名称”session_id =1
,它在数据科学家工作台上的 IPython Notebook 上运行良好。
df = pandas.read_csv('/resources/data/findhelp/tabledata.csv')
df['name'][df['session_id']==1]
我只是想知道在读取 csv 文件后,是否可以以某种方式将其“切换/读取”为 sql 数据库。 (我很确定我没有使用正确的术语很好地解释它,对此感到抱歉!)。但我想要的是,我确实想在 IPython 笔记本上使用 SQL 语句来选择具有特定条件的特定行。就像我可以使用类似的东西:
Select `name`, count(distinct `session_id`) from tabledata where `session_id` like "100.1%" group by `session_id` order by `session_id`
但我想我确实需要找到一种方法将 csv 文件更改为另一个版本,以便我可以使用 sql 语句。非常感谢!
这是使用内置 sqlite3 包对 pandas 和 sql 进行快速入门。一般来说,您可以通过一种或另一种方式在 pandas 中执行所有 SQL 操作。但数据库当然有用。您需要做的第一件事是将原始 df 存储在 sql 数据库中,以便您可以查询它。下面列出了步骤。
import pandas as pd
import sqlite3
#read the CSV
df = pd.read_csv('/resources/data/findhelp/tabledata.csv')
#connect to a database
conn = sqlite3.connect("Any_Database_Name.db") #if the db does not exist, this creates a Any_Database_Name.db file in the current directory
#store your table in the database:
df.to_sql('Some_Table_Name', conn)
#read a SQL Query out of your database and into a pandas dataframe
sql_string = 'SELECT * FROM Some_Table_Name'
df = pd.read_sql(sql_string, conn)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)