如何更改csv列中的数据类型

How to change data type in csv column

通过 SQL 使用数据块,我必须将我的 csv 数据集导入 table 并使用它分析数据。 我的问题是在导入 csv 数据集后,所有列都是字符串类型,但其中一些需要是数字。我该如何解决?

如何定义 csv 文件的列类型?我尝试在 xlsx 中转换文件并设置数字类型,但无法在 csv 中再次转换(或者我不知道如何转换)。

感谢您的帮助

PS:databricks 只需要 csv 文件而不是 xlsx 或类似文件。

  1. 如果您在 Azure 上使用 Databricks,当您 select“使用 UI 创建 table”时,您应该可以选择数据类型对于下面的屏幕截图 A 中的每一列。

  2. 如果您通过一些 Python Spark 代码导入 table,应该有一个选项,infer_schema , 供您设置。如果将其设置为“true”,则所有仅包含数字的列都将具有适当的数字数据类型。

    file_location = "/FileStore/shared_uploads/xxx/dbo_project.csv"
    file_type = "csv"

    infer_schema = "true"
    first_row_is_header = "false"
    delimiter = ","

    df = spark.read.format(file_type) \
      .option("inferSchema", infer_schema) \
      .option("header", first_row_is_header) \
      .option("sep", delimiter) \
      .load(file_location)

截图A