我想用csvkit作为库,而不是从命令行将给定的excel文件转换为csv。我找不到任何有关库使用语法的信息。有人能解释一下如何使用csvkit作为这个库吗?在
我的测试用例很简单输入.xlsx或者输入.xls,转换并另存为输出.csv. 以下是我迄今为止根据其他地方的建议所做的尝试:
import csvkit
with open('input.xlsx') as csvfile:
reader = in2csv(csvfile)
# below is just to test whether the file could be accessed
for row in reader:
print(row)
给予
^{pr2}$有一个类似的问题here,但答案似乎只是参考了文档,这些文档要么没有更新,要么实际上没有解释库的用法语法,它只是列出了类。有一个答案表明,语法可能类似于csv模块,这是我在上面尝试过的,但是我没有得到任何结果。在
文档强烈建议这是一个命令行工具,而不是从Python解释器内部使用。您可以执行类似的操作,从命令行将文件转换为csv(也可以在shell脚本中弹出):
如果您想读取该文件,只需这样做(它与您拥有的类似,但不需要任何外部模块,只需使用内置的Python):
^{pr2}$或者可以使用
os
模块调用命令行:上面的一个片段可能就是您需要的,但是如果您真的在寻找惩罚,您可以尝试从解释器内部使用
in2csv
文件。你可以这样做(在我能找到的文档中没有对此的支持,只是我在翻译程序中四处闲逛):所以您不能直接从csvkit导入in2cv(因为它没有列在
PACKAGE CONTENTS
下面)。但是,如果您稍微搜索一下,就会发现您可以从csvkit.utilities
访问该包。但从现在开始,情况只会变得更糟。如果您像上面那样做更多的“帮助查找”(即从解释器调用帮助),您将发现该类是为从命令行使用而设计的。所以从口译员内部使用真的很麻烦。下面是一个尝试使用默认值(导致爆炸)的示例:看看in2csv.py文件模块中,您必须对
args
进行猴子补丁,以使它在解释器内部执行您想要的操作。同样,这并不是为了在解释器内部使用而设计的,而是为了从cmd行调用而设计的(因此,如果从cmd行调用args
是定义的)。像这样的东西似乎在运行,但我没有彻底测试:相关问题 更多 >
编程相关推荐