Traceback (most recent call last):
File "D:\pycharm工程\venv\抓取\14-19.py", line 57, in
date = get_date(diqu)
File "D:\pycharm工程\venv\抓取\14-19.py", line 35, in get_date
v_1.append(sheet1_object.cell_value(rowx=1, colx=3)) # xlrd单元格数值比正常小一
File "D:\pycharm工程\venv\lib\site-packages\xlrd\sheet.py", line 420, in cell_value
return self._cell_values[rowx][colx]
IndexError: list index out of range
全部代码如下
import os
from openpyxl import load_workbook
from xlrd import open_workbook_xls
def get_diqu_name(): # 获取excel表格文件名,即地区名称
path = 'D:\桌面\9-30建成区excel合并\\2014'
diqu_one = os.listdir(path)
diqu_two = []
for i in diqu_one:
i = i.split('.', 1)[0]
diqu_two.append(i)
return diqu_two
def get_date(diqu):
v_0 = []
v_1 = []
for i in diqu:
path = 'D:\桌面\9-30建成区excel合并\\2014\\{}.xls'.format(i)
workbook = open_workbook_xls(path)
sheet1_object = workbook.sheets()[0]
v_0.append(sheet1_object.cell_value(rowx=1, colx=2)) # xlrd单元格数值比正常小一
v_1.append(sheet1_object.cell_value(rowx=1, colx=3)) # xlrd单元格数值比正常小一
return v_0, v_1
def write_excel(diqu, v_0, v_1):
path = "D:\桌面\9-30建成区excel合并\模板.xlsx"
workbook = load_workbook(path)
worksheet = workbook.active
for i in range(3668, len(v_0) + 3668):
worksheet.cell(row=i, column=2).value = diqu[i - 3668]
worksheet.cell(row=i, column=3).value = v_0[i - 3668]
worksheet.cell(row=i, column=4).value = v_1[i - 3668]
workbook.save('D:\桌面\9-30建成区excel合并\\'+'2014.xlsx')
if __name__ == '__main__':
diqu = get_diqu_name()
date = get_date(diqu)
v_0 = date[0]
v_1 = date[1]
write_excel(diqu, v_0, v_1)
print('合并完成')
只有表格数据值有些许变化,其他没有任何变化
尝试过的方法
尝试过2014年某一地区读取,没有任何问题
吧完整的项目发来 我试试