【发布时间】:2014-03-02 01:29:45
【问题描述】:
我正在尝试启动并运行数据解析脚本。就数据操作而言,它可以工作。我要做的是设置它,以便我可以使用单个命令输入多个用户定义的 CSV。
例如
> python script.py One.csv Two.csv Three.csv
如果您对如何自动命名输出 CSV 有任何建议,如果input = test.csv、output = test1.csv,我也将不胜感激。
得到
TypeError: coercing to Unicode: need string or buffer, list found
换行
for line in csv.reader(open(args.infile)):
我的代码:
import csv
import pprint
pp = pprint.PrettyPrinter(indent=4)
res = []
import argparse
parser = argparse.ArgumentParser()
#parser.add_argument("infile", nargs="*", type=str)
#args = parser.parse_args()
parser.add_argument ("infile", metavar="CSV", nargs="+", type=str, help="data file")
args = parser.parse_args()
with open("out.csv","wb") as f:
output = csv.writer(f)
for line in csv.reader(open(args.infile)):
for item in line[2:]:
#to skip empty cells
if not item.strip():
continue
item = item.split(":")
item[1] = item[1].rstrip("%")
print([line[1]+item[0],item[1]])
res.append([line[1]+item[0],item[1]])
output.writerow([line[1]+item[0],item[1].rstrip("%")])
我真的不明白错误发生了什么。有人可以通俗地解释一下吗?
请记住,我是编程/python 整体的新手,基本上是独自学习,所以如果可能的话,您能否解释一下出了什么问题/如何解决它,以便我记下它以供将来参考。
【问题讨论】:
-
谢谢!还是新的:/
标签: python python-2.7 argparse