Так что у меня проблема. Я пытаюсь создать сценарий, который будет рассматривать слой в ArcMap (мы используем 10.2.2), создаем файл csv, который для окончательного вывода будет содержать имя техников и количество трактов, которые они просматривали в определенный день , Чтобы сделать это, я думаю, что мне нужно создать словарь, специфичный для каждого техника, и указать дату в качестве ключа и количество раз, когда оно появляется как значение.Как подсчитать количество показов даты в списке?
Здесь я застреваю. Как создать словарь, который подсчитывает количество раз, когда приходит дата?
Я включил свой код до сих пор, и я нахожусь в огромной потере того, куда идти, или если я даже нахожусь на правом тракте. Также я не уверен, как сделать файл csv со всеми тремя столбцами, которые мне нужны (имя, дата, число).
import arcpy, datetime
from arcpy import mapping
from datetime import datetime
# pass layer to script
mxd = mapping.MapDocument("C:\\Users\\eschlueter\\Desktop\\test\\test.mxd")
layers = mapping.ListLayers(mxd)
inLayer = layers[0]
csvfilename = "C:\\Users\\eschlueter\\Desktop\\test\\test1.csv"
# Create the search cursor
cursor = arcpy.SearchCursor(inLayer)
##define a dictionary of every technician
elizabethtech = {}
unknowntech = {}
##create a counter for each technician's contracts
Elizabethcontract = 0
Unknowncontract = 0
##Define Variables and Iterate through the rows in cursor
desc = arcpy.Describe(inLayer)
fields = desc.fields
for field in fields:
for srow in cursor:
tech = srow.getValue("Technician")
ModDate = srow.getValue("ModifiedDate")
if tech == "Elizabeth Schlueter":
Elizabethcontract = Elizabethcontract + 1
ESList = []
ES = {}
FormDate = ModDate.strftime("%m-%d-%Y")
print FormDate
ESList.append(FormDate)
c = ESList.count(FormDate)
ES[FormDate] = c
print ES
Я действительно мог бы помочь с этим! Спасибо, ребята, за то, что помогли мне заранее!
UPDATE
Я был в состоянии создать словарь с помощью счетчика и .update метод и создал мастер список всех техников, как ключ и значение, являющееся (дату, количество). Как мне теперь взять этот словарь и распечатать файл csv? Я хочу, чтобы файл имел имя техника, дату и количество дат. Это возможно?
Привет Элизабет, добро пожаловать в StackOverflow! Вы можете улучшить свой вопрос, уменьшив образец кода до минимума, необходимого для воспроизведения вашей проблемы. Пожалуйста, прочтите «[Как создать минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve)» в справочном центре. Кроме того, взгляните на [PEP8] (https://www.python.org/dev/peps/pep-0008/), программисты python очень чувствительны к соглашениям об именах и формировании. –