我是熊貓新手。我需要閱讀xlsx
文件並使用pandas
將第一列轉換爲字典和第二列的鍵值,作爲字典的值。我還需要跳過/排除第一行是標題。pandas:讀取xlsx文件,以第1列作爲鍵和第2列作爲值
答案here用於pymysql
和here用於csv
。我需要用戶pandas
。
這裏是一個示例Excel數據
dict_key dict_value
key1 str_value1
key2 str_value2
key3 None
key4 int_value3
到目前爲止我的代碼如下所示。
import pandas as pd
excel_file = "file.xlsx"
xls = pd.ExcelFile(excel_file)
df = xls.parse(xls.sheet_names[0], skiprows=1, index_col=None, na_values=['None'])
data_dict = df.to_dict()
但是,它給了我字典,其中的鍵是列號和值都是列1數據以及列2數據。
>>> data_dict
{u'Chg_Parms': {0: u' key1 ', 1: u' key2 ', 2: u' key3 ', 3: u' key4 ', 4: u' str_value1 ',
5: u' str_value2 ', 6: u' Nan ', 6: u' int_value3 '}}
我想什麼已經是COLUMN1數據作爲關鍵和列兩個數據的值,也NaN
與None
data_dict = {'key1': 'str_value1', 'key2': 'str_value2', 'key3': None, 'key4': int_value3}
感謝您的幫助更換。
@伯尼感謝。這絕對是我所需要的。但是,如何將每個鍵值轉換爲非unicode表示形式,去掉空白區域並保持其類型。例如。 str(u'1')的結果爲'1',str(u'None')的結果爲'None'。我需要'int'和'boolean'值。 –
@Anil_M:你非常歡迎。請參閱編輯答案。 – bernie
我在編碼('utf8')旁邊添加了.strip()來處理空白。我相信我的問題。謝謝。 –