首頁 > 軟體

Python雙層巢狀陣列的儲存和常用程式碼

2021-05-22 16:30:08

有如下的陣列dep=[['使用者名032', 'http://使用者名032'], ['使用者名031', 'http://使用者名031'],想得到如下的結果:

使用者名032,http://使用者名032,使用者名031,http://使用者名031,

方法一:

#資料儲存withopen('out.txt', 'w', encoding='utf-8') asf: #遍歷外層陣列,得到內層陣列foriindep:#遍歷內層陣列,得到每個資料forjini: f.write(str(j)+',')f.write('n') #關閉檔案f.close()

如果想得到如下的結果:

['使用者名032', 'http://使用者名032'],['使用者名031', 'http://使用者名031'],

方法二:

#資料儲存withopen('out2.txt', 'w', encoding='utf-8') asf: #遍歷外層陣列,得到內層陣列foriindep: f.write(str(i)+',')f.write('n') #關閉檔案f.close()

常用Python程式碼

fromseleniumimportwebdriverfromdatetimeimportdatetimefromlxmlimportetreeimportopenpyxlheaders = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36', }browser = webdriver.Chrome(r'C:UsersAdministratorDesktopchromedriver.exe')#讀取TXT,返回[陣列]defreadtxt():txt = open('test.txt')txt = txt.read()txt = txt.split('n')#print(txt)returntxt#讀取xlsx,返回二層陣列defreadxlsx():#讀取路徑wb=openpyxl.load_workbook(filename=r'C:UsersAdministratorDesktop2014-2015英超聯賽.xlsx')# 獲取所有工作表名names = wb.sheetnames#使用wb[name] 獲取指定工作表sheet = wb[names[]]# 獲取最大行數maxRow = sheet.max_row# 獲取最大列數maxColumn = sheet.max_column# 獲取當前活動表current_sheet = wb.activedatalist=[]# 獲取一列資料, sheet.iter_rows() 獲取所有的行# 獲取一行資料, sheet.iter_cols() 獲取所有的列forrowinsheet.iter_rows(min_row=2,max_row=maxRow):data=[]forcellinrow:#print(cell.value)data.append(cell.value)datalist.append(data)print(datalist)returndatalist#獲取資料defgetdata():browser.get('http://localhost:800/admin/list.aspx')tree = etree.HTML(browser.page_source)table=tree.xpath('/html/body/div/div/div/div/div[3]/table/tbody/tr')datalist=[]foriintable: # 遍歷tr列表data=[]a=i.xpath('./td[2]/text()')[]b=i.xpath('./td[3]/text()')[]data.append(a)data.append(b)datalist.append(data)print(datalist)#返回陣列returndatalist#寫入TXTdefwritetotxt(datalist):withopen(str(datetime.now().strftime( '%Y%m%d%H%M%S%f'))+'.txt', 'w', encoding='utf-8') asf: #遍歷外層陣列,得到內層陣列foriindatalist:#遍歷內層陣列,得到每個資料forjini: f.write(str(j)+',')f.write('n') #關閉檔案f.close()#寫入xlsx defwritetoxlsx(datalist):print('save....')#創建空白Excelwb=openpyxl.Workbook()# 獲得當前正在顯示的sheetsheet = wb.active#新增標題行sheet.append(['欄位1','欄位2','……'])#增加資料行foriinrange(, len(datalist)): #使用len(列表)獲得長度#得到一個數組,一行的資料data = datalist[i]#新增本行資料sheet.append(data)#儲存檔案wb.save(str(datetime.now().strftime( '%Y%m%d%H%M%S%f'))+'.xlsx')print('saveok')defcx(keyword):key=browser.find_element_by_id('key')key.clear()key.send_keys(keyword)cx=browser.find_element_by_id('Search')cx.click()defstart():try:k=input('輸入查詢字元')cx(k)except:print('error')


IT145.com E-mail:sddin#qq.com