我试图用python CSV阅读器解析“伪CSV”文件,并对如何添加一些额外的逻辑有疑问。我称之为“伪CSV”文件的原因是因为部分的输入文件中的行将在实际CSV数据开始之前具有文本(30-40个字符)。我正试图找出删除此文本的最佳方法。向Python CSV阅读器添加逻辑
目前,我已发现3个选项用于移除所述文本:
从Python中,调用grep和sed和管道输出到随后可被馈送到CSV读者 一个临时文件(唉,我想避免这个选项)
创建一个CSV方言删除不需要的文本 (此选项只是觉得不妥)
扩展文件对象,implementi下一个()函数根据需要删除不需要的文本。
我有过是如何产生的输入文件无法控制,所以它不是修改生成的选项。
这是当我意识到输入文件存在问题时的相关代码。
with open('myFile', 'r') as csvfile:
theReader = csv.reader(csvfile)
for row in theReader:
# my logic here
如果我和上面的选项3去了,解决的办法是相当直接的,但 那么我将无法纳入with open()
语法。
所以,这里是我的问题(实际上是2):选项3是解决这个问题的最佳方法吗?如果是这样,我如何将它与with open()
语法结合?
编辑:忘了提及我在Linux上使用Python 2.7。
如果你的“真实”的线是等长的,你可以比较一下'LEN()',然后切片。 –
@BurhanKhalid,你在哪里建议我添加这个逻辑? – Brady