這個春節好無聊啊,流感不能出門,所以在家學數據分析咯
# 使用 xlrd 模塊速去 xlsx 文件
import xlrd
# windows 下使用絕對路徑的方式打開文件,相對路徑的方式我不知爲何打不開
book = xlrd.open_workbook(r'C:\Users\Champion\Desktop\vscode\holiday_demo\excel\SOWC 2014 Stat Tables_Table 9.xlsx', 'r')
# 查看文件中所又的 sheet 表名
for sheet in book.sheets():
print(sheet.name)
# 使用 sheet 表名爲 Table 9 的表 注意 Table 9 後有一個空格,可以進行處理
sheet = book.sheet_by_name('Table 9 ')
# sheet.nrows 返回總行數
# 存放最終用於輸出的數據
data = {}
# 改變標準輸出 print() 的編碼方式 解析的文本中有中文字符
import io
import sys
sys.stdout = io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')
data = {}
count = 0
for i in range(sheet.nrows):
row = sheet.row_values(i)
# 創建一個計數器
if i < 20:
if i >= 14:
country = row[1]
data[country] = {
'child_labor':{
'total':[row[4],row[5]],
'male':[row[6],row[7]],
'female':[row[8],row[9]],
},
'child_marriage':{
'married_by_15':[row[10],row[11]],
'married_by_18':[row[12],row[13]],
}
}
count += 1
# 使用 pprint 可以輸出格式化的數據看的哦
import pprint
pprint.pprint(data)
本實例來自 《Python 數據處理》
例子中的實例文件可以從此處下載 https://github.com/jackiekazil/data-wrangling/tree/master/data/chp4