python—是否可以使用sql操作通过pandas创建的Dataframe?

snvhrwxg  于 2021-08-09  发布在  Java
关注(0)|答案(1)|浏览(410)

因此,我尝试创建一个python脚本,它允许我对使用pandas创建的Dataframe(主文件)执行sql操作。Dataframe从特定文件夹中的csv文件中提取其内容。
我能够成功地创建其他所有内容,但在sql操作部分遇到了问题。我试图使用dataframe作为“数据库”,在这里我将使用sql查询提取数据,但是我得到了一个“attributeerror:'dataframe'对象没有属性cursor'”错误。
我并没有看到太多关于pandas.read\u sql\u query()的例子,所以我很难理解如何在其中使用Dataframe。

import os 
import glob 
import pandas

os.chdir("SOMECENSOREDDIRECTORY")

all_csv = [i for i in glob.glob('*.{}'.format('csv')) if i != 'Masterfile.csv']

edited_files = [] 
for i in all_csv:
    df = pandas.read_csv(i)
    df["file_name"] = i.split('.')[0]
    edited_files.append(df)

masterfile = pandas.concat(edited_files, sort=False)

print("Data fields are as shown below:") 
print(masterfile.iloc[0])

sql_query = "SELECT Country, file_name as Year, Happiness_Score FROM masterfile WHERE Country = 'Switzerland'"

output = pandas.read_sql_query(sql_query, masterfile)

output.to_csv('data_pull')

我知道这一部分是错误的,但这是我正在努力工作但不知道如何实现的概念:

output = pandas.read_sql_query(sql_query, masterfile)

我很感激能得到的任何帮助!顺便说一句,我是一个自以为是的python程序员,所以我可能缺少一些一般的规则。谢谢!
编辑:将“切片”替换为“操纵”,因为我意识到我不想直接切片。还修复了我的代码块上的一些对齐问题。

0aydgbwb

0aydgbwb1#

通过pandas和sql创建的Dataframe可以进行切片,可以使用pandas的loc函数对Dataframe进行切片。 pd.df.loc[row,colums]

相关问题