1.1の.xlsxファイルを処理xlrd
1、xlrd一般的な方法
#!は/ usr / binに/ Pythonが #コーディング:UTF-8 #は、基本的な使い方は、xlrdとExcelファイルを読み込む インポートSYS インポートxlrd インポートJSONを #設定した符号化形式の リロード(SYS) sys.setdefaultencoding(' UTF-8 ' ) #BookオブジェクトExcelファイルから読み込む1 データ= xlrd.open_workbook(' ./data.xlsx ' ) #2。取得シートのページオブジェクト のSheet1 = data.sheet_by_index(0) #3。取得行と列のシートページ番号 NROWS = sheet1.nrows ncolsの = sheet1.ncols #4 GET 0細胞株(リスト)の値 ROW_DATA = sheet1.row_values(0) #0のセル(リスト)を得るの値 col_data = sheet1.col_values(0) #列0行のセルを取得6. 0データ cell_A1 = sheet1.cell(0、0)
2、xlrdは、フォーマットJSONに読み込ま.XLSX
#!は/ usr / binに/ Pythonが #コーディング:UTF-8 #は、基本的な使い方は、xlrdとExcelファイルを読み込む インポートSYS インポートxlrd インポートJSONを リロード(SYS) sys.setdefaultencoding(' UTF-8 ') #のセットのエンコード形式 のデータ= xlrd.open_workbook(' ./data.xlsx ') #はBookオブジェクトExcelファイルから読み込まれ 、シート1 = data.sheet_by_index(0) NROWS = sheet1.nrows IDX = sheet1.row_values(0) #のインデックス(すなわち、第一カラム:ヘッダ) データ= [] #最終的なデータのリスト のための I における範囲(1、NROWS): #横断サイクルの最初の行からのすべての行、各行のデータ取得 ROW_DATA = sheet1.row_values(I)を row_data_dict = {} #のデータ辞書の各行の形成 のための J でレンジ(LEN(ROW_DATA)): #データの各行を横断する、データディクショナリ割当 アイテム= ROW_DATA [J] row_data_dict [IDX [J] = 項目 data.append(row_data_dict) 印刷 json.dumps(データ、インデント= 4 ) 「」」 [{ 「ステータス」:「仕事」 「役割(担当者、従業員)」:「責任者」 "電話番号":15134345678、 「報告の男」:「トム」、 「人々は、転送を残します」:「」、 「第2次産業」:「AIラボ」 「名前」:「ヤン6月」 「三部門」:「」、 "ユーザーID":406.0、 「第一次産業」:「データプラットフォーム部」 「セックス」:「男性」 "备注": "" }、 { 「ステータス」:「仕事」 「役割(担当者、従業員)」:「従業員」 "電話番号":15223457654、 「報告の男」:「ジャック」、 「人々は、転送を残します」:「」、 「第2次産業」:「AIラボ」 「名前」:「鼎ハオヤン」 「三部門」:「」、 "ユーザーID":207.0、 「第一次産業」:「データプラットフォーム部」 「セックス」:「男性」 "备注": "" } ] 「」」
3、コンバートJSONにカスタムインデックスの.xlsxファイル
#!は/ usr / binに/のpython #のコード:UTF-8 インポートsysの 輸入xlrdの 輸入JSON リロード(SYS) sys.setdefaultencoding(「UTF-8 」) #の形式をコードセット デフxlsx_to_json(ファイル名 、IDX):''」 :Paramのファイル名:.xlsxのファイルパス :paramはIDX:辞書キー値(ヘッダであってもよいです) '' ' データ = xlrd.open_workbook(ファイル名) #はBookオブジェクトExcelファイルから読み込まれ 、シート1 = data.sheet_by_index(0) NROWS = sheet1.nrows データ = [] #データの最終的なリスト のための I における範囲(1、NROWS): #サイクルを横断するすべての行の最初の列から、各列のデータを取得する ROW_DATA = sheet1.row_values(I) row_data_dict = {} #データ辞書の各行の形成 のための J でレンジ(LEN(ROW_DATA)): #データの各行を横断する、データディクショナリ割当 アイテム= ROW_DATA [J] IF IDX [J] == ' ジョブID 「 または IDX [J] == 」電話': #電話/浮動小数点数の労働者の整数に IF でisinstance(項目、フロート): アイテム = INT(アイテム) row_data_dict [IDX [J] = 項目 data.append(row_data_dict) リターンjson.dumps(データ) IDX = [ ' ジョブID '、' 名前'、' セックス'、' レベル1 '、' レベル2 '、' レベル3 '、' 役割'、' report_line '、' 電話'、' 使用可能'、' hand_people '、' タグ' ] RET = xlsx_to_json(' data.xlsx ' 、IDX) 印刷 RET