在 Databricks 中访问一个列名为数字的 table

Access a table in Databricks whose column name is numeric

我有一个文件没有 header。

所以反过来,我创建的数据框默认为 headers (0,1,2,3)

例如下面的数据框: df = pd.DataFrame(np.random.randint(0,100,size=(15, 4)))

然后我将这个 pandas df 转换为 spark one: spdf = spark.createDataFrame(df)

所以这个数据框也有相同的列名 (0,1,2,3)

在此之后,我将使用创建 table(编写 df) spdf.write.saveAsTable('default.testX')

现在这个 table,testX 有 headers 0,1,2,3 如图所示Describe testX

但是当我在做的时候Select 1 from testX 我无法访问该列,而是为我拥有的行数打印“1”。

如何告诉系统我正在尝试访问列。

df = pd.DataFrame(np.random.randint(0,100,size=(15, 4)),columns =[ 'col1', 'col2','col3', 'col4'])
spdf = spark.createDataFrame(df)
spdf.show()

使用列名获取您需要的数据

得到答案,

   select `0`, `1` from testx  

这是用 ` 符号包装列