我正在重寫我的一些代碼,並覺得必須有更好的更動態的方式來執行下面的操作。目前正如您所看到的,我正在根據行數創建條件並從中添加值。不過,我不想爲多個值製作靜態條件if row_count == 3:
if row_count == 4:
等等。我認爲肯定有更高效的方法來實現這一點。任何指針將不勝感激。根據熊貓數據幀的行數動態添加字典值
for root, dirs, files in os.walk(main):
filters = '*specificname*.csv'
for filename in fnmatch.filter(files, filters):
df = pd.read_csv(os.path.join(root, filename),error_bad_lines=False)
row_count = len(df.index)
device_dic = collections.defaultdict()
if row_count == 2:
device_dic[df.iloc[0][1]] = {}
device_dic[df.iloc[0][1]]['item1'] = df.iloc[0][2]
device_dic[df.iloc[0][1]]['item2'] = df.iloc[0][3]
device_dic[df.iloc[1][1]] = {}
device_dic[df.iloc[1][1]]['item1'] = df.iloc[1][2]
device_dic[df.iloc[1][1]]['item2'] = df.iloc[1][3]
for key in device_dic.iterkeys():
device.append(key)
什麼用等於行鍵的字典計算要處理和值等於處理功能。多個鍵可以映射到相同的處理功能,您可以輕鬆地添加其他案例。 –
@PaulJoireman您能否用一個例子來闡述一下? – iNoob