当读取表格报错时…
UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 0: ordinal not in range(128)
解决方案:
import sys
reload(sys)
sys.setdefaultencoding('utf8')
当读取一个excel时…
解决方案:
def xlsread():
file_path = '一个表.xls'
xls_data = xlrd.open_workbook(file_path)
# ===========================================================================
table = data.sheets()[0] #通过索引顺序获取
# ===========================================================================
table = data.sheet_by_index(0) #通过索引顺序获取
# ===========================================================================
table = xls_data.sheet_by_name(u'Sheet1') #通过名称获取
# ===========================================================================
table_list = table._cell_values #获得了[[]]
当创建一个XLS时…
def set_style(name, height, bold=False):
style = xlwt.XFStyle() # 初始化样式
font = xlwt.Font() # 为样式创建字体
font.name = name # 'Times New Roman'
font.bold = bold
font.color_index = 4
font.height = height
# borders= xlwt.Borders()
# borders.left= 6
# borders.right= 6
# borders.top= 6
# borders.bottom= 6
style.font = font
# style.borders = borders
return style
写excel
def write_excel(xls_list):
f = xlwt.Workbook() # 创建工作簿
sheet1 = f.add_sheet(u'Sheet1', cell_overwrite_ok=True) # 创建sheet
rownum = 0 # 写入的行号,逐行增加
for oneRow in xls_list:
for i in range(0, len(oneRow)):
sheet1.write(rownum, i, oneRow[i], set_style(u'宋体', 180, True))
rownum += 1
f.save('file_name.xlsx' % ) # 保存文件