Я написал код, который записывает в файл CSV, читая из другого файла.Я хочу выписать определенные столбцы из входного файла, поэтому я добавляю их в список, затем разделяю их запятой и добавляю их в строку, но выходной файл показывает, что символы отдельных слов также разделяются запятыми.Я хочу, чтобы разделялись только слова, а не символы.
import csv
def csv_reader(file,path):
with open(path, 'w') as f1, open(file, 'r') as f2:
write = csv.writer(f1, delimiter=',')
read = csv.reader((line.replace('\0','') for line in f2), delimiter="\t")
i=1
for row in read:
if(len(row)==0):
continue
if(row[3]=="Trade"):
continue
else:
if(row[6]==""):
r = [row[0],row[0],'A',row[8],row[9],row[0]]
line = ','.join(r)
print(line)
write.writerow(line)
else:
r = [row[0],row[0],'B',row[6],row[7],row[0]]
line = ','.join(r)
print(line)
write.writerow(line)
if __name__ == "__main__":
path = "sales.csv"
csv_path = "FlowEdge-TRTH-Time_Sales.csv"
csv_reader(csv_path,path)
Это показывает вывод как:
0,7,0,0,4,5,0,0,0,0,C,8,.,H,K,",",0,7,0,0,4,5,0,0,0,0,C,8,.,H,K,",",B,",",5,.,7,",",4,",",0,7,0,0,4,5,0,0,0,0,C,8,.,H,K
, в то время как это должно быть похоже:
0700450000C8.HK,0700450000C8.HK,B,5.7,4,0700450000C8.HK
когда я делаю следующую модификацию
write.writerow([line])
Она показывает полную строку в одном столбце файла Excel, означая, что есть только один столбец, а я хочу 6 столбцов.