2015-12-10 3 views
1

У меня есть defaultdict, который имеет идентификационные номера в качестве ключей к спискам координат, и я хочу записать его в папку с уникальным CSV-файлом для каждого ключа.Запись каждого ключа по умолчанию для уникального файла 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

Если вы хотите, чтобы каждый из ваших координат списков, записанных в виде отдельного файла, вы можете, но в письменном виде 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]) 
Смежные вопросы