因此,我尝试创建一个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程序员,所以我可能缺少一些一般的规则。谢谢!
编辑:将“切片”替换为“操纵”,因为我意识到我不想直接切片。还修复了我的代码块上的一些对齐问题。
1条答案
按热度按时间0aydgbwb1#
通过pandas和sql创建的Dataframe可以进行切片,可以使用pandas的loc函数对Dataframe进行切片。
pd.df.loc[row,colums]