我有一个defaultdict,它有ID号作为坐标列表的键,我想把它写到一个文件夹,每个键都有一个唯一的csv文件。
到目前为止,这就是我所拥有的:
wb=openpyxl.load_workbook('Simplified_Coordinates.xlsx')
sheet=wb.get_sheet_by_name('Sheet1.csv')
from collections import defaultdict
CoordDict = defaultdict(list)
for i in range (1,24134,1):
coordinate_list=[(sheet.cell(row=i,column=1).value, sheet.cell(row=i,column=2).value)]
for oID, yx in coordinate_list:
CoordDict[oID].append(yx)
import csv
w=csv.writer(open('outputcoords.csv','w'))
for oID, yx in CoordDict.items():
w.writerow([oID,yx])
但是这会将defaultdict中的所有列表写入1 csv,每个键都有一个单独的行。有关将它们写入自己的csv文件的最佳方法的任何建议吗?我需要另一个声明吗?如果这是一个显而易见的问题,我对python很新,抱歉!
答案 0 :(得分:0)
如果您希望将每个坐标列表写入单独的文件,则可以将csv文件写入for
循环:
wb=openpyxl.load_workbook('Simplified_Coordinates.xlsx')
sheet=wb.get_sheet_by_name('Sheet1.csv')
from collections import defaultdict
import csv
for i in range (1,24134,1):
coordinate_list=[(sheet.cell(row=i,column=1).value, sheet.cell(row=i,column=2).value)]
w=csv.writer(open('outputcoords%d.csv' % i,'w'))
or oID, yx in coordinate_list:
w.writerow([oID,yx])