Я пытаюсь запустить скрипт анализа данных. Это работает, насколько это касается манипулирования данными. То, что я пытаюсь сделать, это настроить это, чтобы я мог вводить несколько CSV, определенных пользователем, с помощью одной команды.
e.g.
> 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("%")])
Я не очень понимаю, что происходит с ошибкой. Кто-нибудь может объяснить это по-человечески?
Имейте в виду, что я новичок в программировании/питоне в целом и в основном учусь один, поэтому, если возможно, вы могли бы объяснить, что происходит не так/как это исправить, чтобы я мог отметить это для дальнейшего использования.