Первое, что я замечаю, это:
flat_json = json_normalize(act_json_data)
print(flat_json)
Conndf = pd.DataFrame(flat_json)
, когда вы делаете flat_json = json_normalize(act_json_data)
, flat_json
уже является фреймом данных. Выполнение Conndf = pd.DataFrame(flat_json)
излишне и избыточно, хотя не должно вызывать проблем, это просто дополнительный код, который вам не нужен.
Finaldf.append(Conndf)
на
Finaldf = Finaldf.append(Conndf)
Я бы также просто пересмотрел индекс, так как это просто моя привычка, когда я добавляю кадры данных:
Finaldf = Finaldf.append(Conndf).reset_index(drop=True)
[ 1113] Кроме этой 1 строки, она выглядит нормально, и вы должны получить полный кадр данных, сохраненный в csv с помощью Finaldf.to_csv('NewTest.csv')
NDepend довольно хорош в этом. Кроме того, Visual Studio 2008 Team System имеет множество функций, которые позволяют отслеживать цикломатическую сложность, но гораздо более просты, чем NDepend. (Выполнить анализ кода)
Я использовал доксиген для некоторого успеха. Это немного запутанно, но бесплатно и работает.
Плюс, для каждого отдельного метода - Reflector (Analyzer (Ctrl + R); «Зависит от» и «Используется»)
Я не уверен, будет ли он делать это только с исходным кодом, но ANTS Profiler создаст граф вызовов для работающего приложения (в любом случае может быть более полезным) .
Вам могут помочь SequenceViz и DependencyStructureMatrix for Reflector: http://www.codeplex.com/reflectoraddins