小编Arè*_*rès的帖子

.Net 中的 Apache PdfBox 库

我想在 C# 中使用 Apache 的 PDFBox 库,我检查了 NuGet 但遗憾的是,那里没有 PDFBox 2.0。

我在互联网上搜索了在 .Net 上使用 Java 库的方法,发现一些旧文章(2011-2014)说我应该使用 IKVM,并发现一些较新的文章说 IKVM 不再更新并且它不起作用不再。

有没有什么可行的方法可以使 PDFBox 2.0 库与 C# 一起使用?

如果我的问题听起来很愚蠢,我深表歉意,但 2 小时前我不知道我们可以将 Java 库转换为 .NET,哈哈。

.net c# ant ikvm pdfbox

7
推荐指数
1
解决办法
2577
查看次数

从 json 字符串推断架构

我有这个数据框:

cSchema = StructType([StructField("id1", StringType()), StructField("id2", StringType()), StructField("params", StringType())\
                      ,StructField("Col2", IntegerType())])

test_list = [[1, 2, '{"param1": "val1", "param2": "val2"}', 1], [1, 3, '{"param1": "val4", "param2": "val5"}', 3]]

df = spark.createDataFrame(test_list,schema=cSchema) 

+---+---+--------------------+----+
|id1|id2|              params|Col2|
+---+---+--------------------+----+
|  1|  2|{"param1": "val1"...|   1|
|  1|  3|{"param1": "val4"...|   3|
+---+---+--------------------+----+
Run Code Online (Sandbox Code Playgroud)

我想将参数分解为列:

+---+---+----+------+------+
|id1|id2|Col2|param1|param2|
+---+---+----+------+------+
|  1|  2|   1|  val1|  val2|
|  1|  3|   3|  val4|  val5|
+---+---+----+------+------+
Run Code Online (Sandbox Code Playgroud)

所以我编码如下:

schema2 = StructType([StructField("param1", StringType()), StructField("param2", StringType())])

df.withColumn(
  "params", from_json("params", schema2)
).select(
  col('id1'), col('id2'),col('Col2'), col('params.*')
).show()
Run Code Online (Sandbox Code Playgroud)

问题是params …

python json apache-spark apache-spark-sql pyspark

1
推荐指数
1
解决办法
7773
查看次数

标签 统计

.net ×1

ant ×1

apache-spark ×1

apache-spark-sql ×1

c# ×1

ikvm ×1

json ×1

pdfbox ×1

pyspark ×1

python ×1