我有一个简单的脚本来无论是从CSV文件中删除最后N列或保持第一n列只在CSV文件:删除或保留特定的列在csv文件
from sys import argv
import csv
if len(argv) == 4:
script, inputFile, outputFile, n = argv
n = [int(i) for i in n.split(",")]
else:
script, inputFile, outputFile = argv
n = 1
with open(inputFile,"r") as fin:
with open(outputFile,"w") as fout:
writer=csv.writer(fout)
for row in csv.reader(fin):
writer.writerow(row[:n])
用法示例(除去最后两列):removeKeepColumns.py sample.txt out.txt -2
如何扩展该处理的可能性,以保持/删除特定的一组列,如:
- 删除列3,4,5 个
- 只保留列,1,4,6
我可以拆分逗号separted到数组输入参数,但不知道烫到这个传递给writerow(row[])
链接到我用来创建脚本我的例子:
- Delete or remove last column in CSV file using Python
- Can sys.argv handle optional arguments?
- What is the easiest way to convert list with str into list with int?
http://stackoverflow.com/questions/724856/picking-out-items- python-list-which-specific-indexes#724881 – Jasper 2014-12-07 12:33:40
@Jasper我不明白,你想介绍一下你的评论吗? – 2014-12-07 12:46:48
如果我正确理解你,你试图从CSV中获得(非连续的)子序列。链接的问题告诉你如何做到这一点。 – Jasper 2014-12-07 12:52:32