for x in List - csv 读/写
for x in List - csv read / write
我在这里有点挣扎。我有以下代码(在其他一些 python 专家的帮助下):
skip = [11, 15, 30, 31, 32, 34, 41, 45, 55, 58, 59, 62, 64, 65, 66, 67, 68, 69,
71, 72, 73, 74, 75, 76, 77, 78, 79, 80]
#skip += range(64, 70)
#skip += range(71, 81)
with open(outname, 'r') as r, open('import2SFDC.csv', 'w') as w:
reader = csv.reader(r)
writer = csv.writer(w, delimiter=',', quoting=csv.QUOTE_ALL)
header = next(reader) # "next" is the first row in this case, i.e. the header row
header.append('SFDCID') # Add the new column
writer.writerow(header) # write out the new header
for row in reader:
new_row = [v for k, v in enumerate(row) if k not in skip]
new_row.append(args.SFDCID)
writer.writerow(new_row)
无论出于何种原因,跳过 skip 变量中定义的列都不起作用。我确定这是显而易见的事情,但我正在研究代码并尝试修复它几个小时,我就是无法让它工作。
非常感谢任何帮助。
谢谢
我认为 skip
功能有效,但仅适用于数据行 - 您没有在 header 行中使用跳过,因此所有 header 都将是书面。
修复是 1 行以确保相应的 headers 也被跳过:
...
header = next(reader)
header = [v for k, v in enumerate(header) if k not in skip]
...
我在这里有点挣扎。我有以下代码(在其他一些 python 专家的帮助下):
skip = [11, 15, 30, 31, 32, 34, 41, 45, 55, 58, 59, 62, 64, 65, 66, 67, 68, 69,
71, 72, 73, 74, 75, 76, 77, 78, 79, 80]
#skip += range(64, 70)
#skip += range(71, 81)
with open(outname, 'r') as r, open('import2SFDC.csv', 'w') as w:
reader = csv.reader(r)
writer = csv.writer(w, delimiter=',', quoting=csv.QUOTE_ALL)
header = next(reader) # "next" is the first row in this case, i.e. the header row
header.append('SFDCID') # Add the new column
writer.writerow(header) # write out the new header
for row in reader:
new_row = [v for k, v in enumerate(row) if k not in skip]
new_row.append(args.SFDCID)
writer.writerow(new_row)
无论出于何种原因,跳过 skip 变量中定义的列都不起作用。我确定这是显而易见的事情,但我正在研究代码并尝试修复它几个小时,我就是无法让它工作。
非常感谢任何帮助。
谢谢
我认为 skip
功能有效,但仅适用于数据行 - 您没有在 header 行中使用跳过,因此所有 header 都将是书面。
修复是 1 行以确保相应的 headers 也被跳过:
...
header = next(reader)
header = [v for k, v in enumerate(header) if k not in skip]
...