【发布时间】:2017-09-18 18:57:14
【问题描述】:
我是熊猫新手。我需要读取xlsx 文件并使用pandas 将第一列转换为dict 的键,将第二列转换为dict 的值。我还需要跳过/排除作为标题的第一行。
答案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()
但是,它给了我 dict,其中键是列号,值既是 column1 数据又是 column2 数据。
>>> 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 '}}
我想要的是第 1 列数据作为键,第 2 列数据作为值,并且将 NaN 替换为 None
data_dict = {'key1': 'str_value1', 'key2': 'str_value2', 'key3': None, 'key4': int_value3}
感谢您的帮助。
【问题讨论】:
标签: python python-2.7 pandas xlsx