【问题标题】:Is there a way to read a SQL query by ignoring the column name in python?有没有办法通过忽略python中的列名来读取SQL查询?
【发布时间】:2020-04-29 00:18:20
【问题描述】:

假设我必须使用以下方法将我的 SQL 服务器数据库中的一列读入数据框:

query = 'select urls from table1'

df = pd.read_sql_query(query,connection)

我的df 看起来像这样:

我试图通过这样的循环来获取这些 URL 的响应代码 -

response_list = []
for x in df:
  response = requests.get(x)
  response_list.append(response)

print(response_list)

错误消息:无效的 URL 'URL':未提供架构。也许你的意思是http://URLs

如果我尝试循环 df,列名也会被传递。
有没有办法忽略列名而只拥有值?
或者建议一种通过忽略列名来循环遍历的方法。

【问题讨论】:

  • 不清楚你在追求什么。试试iterrows
  • index_col parameter 对您有帮助吗?
  • 嗨@CHRD,我有一个从 SQL 查询中读取的 df。它带有相关的列名。当我通过循环传递 df 时,列(标题)名称也被传递,这是我不想要的。切片也无济于事。你有其他选择吗?现在清楚我在追求什么了吗?
  • 嗨@NikosM.,我试过了,但没有帮助。谢谢,但如果您有其他选择,请告诉我。
  • @BharathwajMurali 请参阅下面的答案。你需要for x in df.yourColumn.values

标签: python python-3.x pandas


【解决方案1】:

根据您的问题,我假设您有一个包含这样一列的数据框:

df = pd.DataFrame({'col': [1, 2, 3]})

如果您想遍历行并使用值,您可以简单地:

for i in df.col.values: print('Something' + str(i))

编辑:根据更新后的问题,将循环更改为:

for x in df['URLs'].values:
  response = requests.get(x)
  response_list.append(response)

【讨论】:

    猜你喜欢
    • 2021-03-11
    • 1970-01-01
    • 2010-09-08
    • 2019-05-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-06
    • 1970-01-01
    相关资源
    最近更新 更多