首页 > 解决方案 > 如何将列从数据框转换为字符串?

问题描述

我使用了转换为 json 的 api,用 pandas 规范化,并用 pyspark 转换为数据帧。

但我不能改变列,无论是形式还是任何东西,我都不能选择它们。

我想知道我哪里错了!

import requests
import json
import pandas as pd  
import pyspark.sql.functions as F
import os
from pyspark.sql.types import DoubleType
from pyspark.sql import types


base_url = "https://api.talkwalker.com/api/v1/search/results"
token = "demo"
search = "cats"


url = base_url + "?access_token=" + token + "&q=" + search + "&pretty=true&hpp=1"


response = requests.get(url)
#print(response.text)

js = response.json()

df1 = pd.json_normalize(js['result_content'],['data'])

pdf = pd.DataFrame(df1)

df = spark.createDataFrame(pdf)

display(df.select('data.url'))

问题在选择。

标签: pythondataframeapache-sparkpysparkapache-spark-sql

解决方案


默认情况下,Spark 将带有点的列名解释为结构元素,因此如果要获取名称中包含点的列,则需要将名称用反引号括起来。尝试做df.select('`data.url`'),看看是否有效。


推荐阅读