我有 .xml 格式的堆栈溢出数据转储文件,将近 27GB,我想将它们转换为 .csv 文件。请有人告诉我,将 xml 转换为 csv 文件或 python 程序的工具
问问题
697 次
2 回答
0
使用 python xml 模块之一来解析 .xml 文件。除非您的内存超过 27GB,否则您将需要逐步执行此操作,因此请相应地限制您的选择。使用 csv 模块编写 .csv 文件。
你真正的问题是这个。CSV 文件是字段行。它们代表一个矩形表。通常,XML 文件可以表示更复杂的结构:分层数据库和/或多个表。因此,您真正的问题是充分理解数据转储格式以提取记录以写入 .csv 文件。
于 2014-09-28T21:22:59.093 回答
0
我编写了一个 PySpark 函数来解析 .csv 中的 .xml。XmltoCsv_StackExchange是 github 存储库。在最小的 2 核和 2 GB RAM Spark 设置上,用它在 2-3 分钟内转换 1 GB 的 xml。它也可以转换 27GB 的文件,只需在这一行中将 minPartitions 从 4 增加到 128 左右。
raw = (sc.textFile(fileName, 4))
于 2016-10-15T19:33:00.283 回答