【发布时间】:2018-11-22 09:04:11
【问题描述】:
我正在编写一个脚本来为我们工作中的零件生成唯一的资产编号。对于如何创建这些资产编号存在偏好。例如,如果我们记录了零件号和序列号(即单元格不为空白),则唯一资产编号应该是两者的结合。在 CSV 文件中,这将是:
列[9] + '-' + 列[12]
关于如何创建资产编号的最后一个偏好是一个完全组成但唯一的编号,我使用 list() 函数来创建它。
我已经能够打开和读取数据来源的 CSV 文件,但是我不知道如何将资产编号写入/编辑到文件中。资产编号是 CSV 中每一行的列 [16]。我习惯于在 C 中工作,并且预计如果我将 column[16] 设置为某个值,它会将 column[16] 更改为我正在使用的文件中的那个值。
import csv
list1 = list(range(500))
for item in list1:
list1[item] = "RAND" + "-" + str(item).zfill(6)
with open('data.csv', mode='r') as csv:
for num, line in enumerate(csv):
column = line.strip().split(',')
if column[9] != '' and column[12] != '':
column[16] = column[9] + '-' + column[12]
elif column[8] != '' and column[12] != '':
column[16] = column[8] + '-' + column[12]
elif column[10] != '' and column[12] != '':
column[16] = column[10] + '-' + column[12]
elif column[12] != '':
column[16] = column[12]
elif:
column[16] = list1[num]
样本数据:
PLCN,MLCN,PLCN Description,PLCN Unique ID,Remarks,Location,Classification,Part Number,Part Description,LSA Number,Serial Number,SN Description,Barcode Number,OMEGAPS LocationParent,Parent,MLCN Parent,Asset
H 1111,1111,Example Part,,,Brisbane,None,,PART100,LSA100,SERIAL100,,BAR100,,H 111,111,
H 1111,1111,Example Part,,,Brisbane,None,,PART100,,SERIAL100,,BAR100,,H 111,111,
H 1111,1111,Example Part,,,Brisbane,None,,,,SERIAL100,,BAR100,,H 111,111,
H 1111,1111,Example Part,,,Brisbane,None,,,,,,BAR100,,H 111,111,
H 1111,1111,Example Part,,,Brisbane,None,,,,,,,,H 111,111,
【问题讨论】:
-
没问题,已经列出了一些。
-
是的,它们存在。它们是已导出为 CSV 的空白单元格
-
我看到
partnumber有空数据 -
是的,有些单元格在某些行上是空白的。我故意将它设置为测试用例。代码应首先检查 LSA 编号和条形码编号,然后检查零件编号和条形码编号等。我只想知道如何将列 [16] 写入 CSV 文件。
标签: python-3.x csv