#coding = utf-8
import win32com
from win32com.client import Dispatch,constants
import os
import re
from datetime import datetime
cells_value = []
def getScriptPath():
nowpath = os.path.split(os.path.realpath(_file_))[0]
return nowpath
#表格讀取函式
def fun3_3_7_2():
app = win32com.client.Dispatch("WPS.Application")
app.Visible = 0
app.DisplayAlerts = 0
WorkBook = app.Wokbooks.Open(getScriptPath()+"\\楊林戴溝村.xlsx")
sheet = WorkBook.Worksheets("Sheet1")
for x in range(1001):
for y in range(17):
cell_value[x][y].append(Sheet.Cells(x+1,y+1).Value)
#表格寫入函式
def xieru(x1,y1):
app = win32com.client.Dispatch("WPS.Application")
app.Visible = 0
app.DisplayAlerts = 0
WorkBook = app.Wokbooks.Open(getScriptPath()+"\\楊林戴溝村1.xlsx")
sheet = WorkBook.Worksheets("Sheet1")
sheet.Cells(x1+1,y1+1).Value = cells_value[x1][y1]
#資料處理函式
def chuli():
for x in range(1001):
if cells_value[x][9] == re.search(r"江蘇省阜寧縣吳灘鎮戴溝村一組.*?號",cells_value[x][9]):
for y in range(17):
xieru(x,y)
for x in range(1001):
if cells_value[x][9] == re.search(r"江蘇省阜寧縣吳灘鎮戴溝村二組.*?號",cells_value[x][9]):
for y in range(17):
xieru(x,y)
for x in range(1001):
if cells_value[x][9] == re.search(r"江蘇省阜寧縣吳灘鎮戴溝村三組.*?號",cells_value[x][9]):
for y in range(17):
xieru(x,y)
for x in range(1001):
if cells_value[x][9] == re.search(r"江蘇省阜寧縣吳灘鎮戴溝村四組.*?號",cells_value[x][9]):
for y in range(17):
xieru(x,y)
for x in range(1001):
if cells_value[x][9] == re.search(r"江蘇省阜寧縣吳灘鎮戴溝村五組.*?號,cells_value[x][9]"):
for y in range(17):
xieru(x,y)
for x in range(1001):
if cells_value[x][9] == re.search(r"江蘇省阜寧縣吳灘鎮戴溝村六組.*?號",cells_value[x][9]):
for y in range(17):
xieru(x,y)
for x in range(1001):
if cells_value[x][9] == re.search(r"江蘇省阜寧縣吳灘鎮戴溝村七組.*?號",cells_value[x][9]):
for y in range(17):
xieru(x,y)
for x in range(1001):
if cells_value[x][9] == re.search(r"江蘇省阜寧縣吳灘鎮戴溝村八組.*?號",cells_value[x][9]):
for y in range(17):
xieru(x,y)
for x in range(1001):
if cells_value[x][9] ==re.search(r"江蘇省阜寧縣吳灘鎮戴溝村九組.*?號",cells_value[x][9]):
for y in range(17):
xieru(x,y)
for x in range(1001):
if cells_value[x][9] == re.search(r"江蘇省阜寧縣吳灘鎮戴溝村十組.*?號",cells_value[x][9]):
for y in range(17):
xieru(x,y)
if __name == "__main__":
starttime = datetime.now()
fun3_3_7_2()
chuli()
endtime = datetime.now()
total_time = (endtime - starttime).seconds
print(">>>成功錄入資訊{}條,總共耗時{}秒!".format(len(cells_value),total_time))
os.system("pause")
uj5u.com熱心網友回復:
那就print一下,看看每步的執行結果如何uj5u.com熱心網友回復:
1. excel表格不是有專門的讀寫庫嗎?為什么要用wps的介面。2. cell_value[x][y].append(Sheet.Cells(x+1,y+1).Value) 這句cell_value[x][y]是二維的,你定義的是一維的,如果運行程式都沒提示,說明這一句壓根都沒有執行
3. chuli中,頻繁呼叫xieru(x,y),不可取
uj5u.com熱心網友回復:
我粗略的看了一下你的代碼有很多語法錯誤,你先debug解決了,建議在執行完一個函式模塊就print("---第%d個函式執行完---")一下,從頭開始,哪個函式執行完沒列印這條資訊再進入到內部再列印,就這樣簡單的debug很快就能定位問題uj5u.com熱心網友回復:

uj5u.com熱心網友回復:
就是說嘛找不到對應的路徑,如何路徑真實存在,要么你切換到對應的路徑運行,要么就用絕對路徑uj5u.com熱心網友回復:
感謝大家熱心幫助,原來還有這么多問題呢uj5u.com熱心網友回復:
需要定義成cells_value = [[0]*n for 17 in range(1001)]嗎?
uj5u.com熱心網友回復:
cells_value = https://bbs.csdn.net/topics/[[0 for i in range(17)]for i in range(1001)]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/8658.html
下一篇:搜不到解決辦法
