【发布时间】:2018-05-10 11:51:52
【问题描述】:
此代码显示标题中的错误。请帮帮我。我编写了以下代码以写入从另一个文件读取输入的 csv 文件,但这显示了错误。当我将“r”更改为“rb " 然后它显示“迭代器应该返回字节”错误。
error->Traceback(最近一次调用最后一次): 文件“C:/Users/abhirav.sati/Downloads/salesdata.py”,第 34 行,在 csv_reader(csvReader,路径) csv_reader 中的文件“C:/Users/abhirav.sati/Downloads/salesdata.py”,第 11 行 对于读取的行: _csv.Error: 迭代器应该返回字符串,而不是列表(您是否以文本模式打开文件?)
import csv
def csv_reader(fileobj,path):
read=csv.reader(fileobj,delimiter=',')
with open(path, "wt") as csv_file:
write=csv.writer(csv_file, delimiter=',')
i=1
for row in read:
if(i==1):
write.writerow(",".join(row))
i=2
continue
if(row[3]=="Trade"):
continue
else:
if(row[6]==NULL):
r=[row[0],row[0],"A,",row[8],row[9],row[0]]
#r=row[0]+row[0]+"A,"+row[8]+row[9]+row[0]
write.writerow(r)
else:
r=[row[0],row[0],"B,",row[6],row[7],row[0]]
#r=row[0]+row[0]+"A,"+row[8]+row[9]+row[0]
write.writerow(r)
if __name__ == "__main__":
path="sales.csv"
csv_path = "FlowEdge-TRTH-Time_Sales.csv"
f_obj = open(csv_path, "r")
data=csv.reader((line.replace('\0','') for line in f_obj), delimiter=",")
csv_reader(data,path)
【问题讨论】:
-
请编辑您的问题以更正缩进并添加错误的完整回溯。
标签: python string python-3.x python-2.7 csv