【发布时间】:2020-10-18 11:51:19
【问题描述】:
所以我正在尝试创建一个 python 脚本,它允许我对使用 pandas 创建的数据框(主文件)执行 SQL 操作。数据框从特定文件夹中的 csv 文件中提取其内容。
我能够成功创建其他所有内容,但我在 SQL 操作部分遇到了问题。我正在尝试将数据框用作“数据库”,我将在其中使用我的 SQL 查询提取数据,但我收到“AttributeError: 'DataFrame' object has no attribute 'cursor'”错误。
我并没有真正看到很多关于 pandas.read_sql_query() 的示例,所以我很难理解如何在其中使用我的数据框。
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 程序员,所以我可能会遗漏一些一般规则或其他东西。谢谢!
编辑:将“slice”替换为“manipulate”,因为我意识到我不想只对它进行切片。还修复了我的代码块上的一些对齐问题。
【问题讨论】:
标签: python sql dataframe sqlalchemy