Python将.csv中的特定行复制到.xlsx中,假设特定值位于第三列中

我是python的新手。 我在联合国做了一个非常小的数额。 我正在为我的家庭开发个人程序,它从ftp站点获取.csv文件,将它们合并在一起,然后将信息放入一个模板.xlsx文件中。 这个csv中的信息由每行保存一组节点的位置数据组成。

我坚持这最后一节,将信息从csv文件移动到xlsx文件。

下面的图片是csv文件的一部分: http : //i.stack.imgur.com/6mST3.png

第三列(标记为阀门)将有多个行从1 – 15,它会重复(所以会有不止一行,在该列中有一个1,以此类推)。 我需要将这个列中的所有行都复制到xlsx模板中预先存在的表单中。 然而,其他列也可能有一个1,没有在第三列1,所以它需要根据该列单独。 我尝试了一些方法,但不断打错误或在xlsx中结束了损坏的信息(例如,将所有行合并成一行,列位于不同位置,等等)

到目前为止,包括我目前正在使用的代码是两个不同的代码,我已经尝试过,但没有成功。

第一个代码是:

wb = openpyxl.load_workbook('MasterTemplate4.xlsx') ws = wb.get_sheet_by_name('All') with open('file location' + fl1 + '.csv') as f: reader = csv.DictReader(f) rows = [row for row in reader if row['Valve Pos'] != '1'] for row in rows: ws.write(row) wb.save('save location' + fl1 + '.xlsx') 

第二个代码是:

  f = open(r'file location' + fl1 + '.csv') csv.register_dialect('colons', delimiter=':') reader = csv.reader(f, dialect='colons') wb = openpyxl.load_workbook('MasterTemplate4.xlsx') ws = wb.get_sheet_by_name('All') for row_index, row in enumerate(reader): for column_index, cell in enumerate(row): column_letter = get_column_letter((column_index + 1)) ws.cell('%s%s'%(column_letter, (row_index + 1))).value = cell wb.save('save location' + fl1 + '.xlsx') 

在其他代码部分使用的import和defs已经在全球排名第一

任何帮助将不胜感激,因为我已经坚持了几个星期了,并且一直没有find任何代码在线来处理这个问题。