私はpandasを初めて使っています。私はxlsx
ファイルを読んで、最初の列をdictのキーに変換し、2番目の列をpandas
を使ってdictの値に変換する必要があります。私もヘッダーである最初の行をスキップ/除外する必要があります。pandas:xlsxファイルを読んで、column1をキーとして、column2を値として
回答hereはpymysql
です。hereはcsv
です。私はユーザーpandas
に必要です。ここで
は、サンプルのデータが
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()
ただし、キーは列番号で、値は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 '}}
は、あなたの助けのためNone
data_dict = {'key1': 'str_value1', 'key2': 'str_value2', 'key3': None, 'key4': int_value3}
おかげで置き換えもNaN
column1の値として、キーと列の二つのデータなどのデータとです。
:
は、あなたが上に書いたように、次のコードは、あなたの期待される結果を与える必要があります構築であるexample.xlsxという名前のxlsxファイルを考えます。これは間違いなく私に必要なものに向かっている。ただし、各キー値を非Unicode表現に変換し、空白を取り除き、その型を維持するにはどうすればよいですか。たとえば。 str(u '1')の結果は '1'になり、str(u'None ')は' None 'になります。私は 'int'と' boolean'値がそのまま必要です。 –
@Anil_M:大歓迎です。編集された回答をご覧ください。 – bernie
私は空白を世話するためにencode( 'utf8')の横に.strip()を追加しました。私は私の質問に答えることを信じます。ありがとう。 –