Python實(shí)現(xiàn)批量導(dǎo)入1000條xlsx數(shù)據(jù)
遇到的問題:
用戶批量導(dǎo)入數(shù)據(jù)1000條,導(dǎo)入不成功的問題,提示查詢不到商品資料。這個(gè)場(chǎng)景需要依靠批量的數(shù)據(jù),每次測(cè)試的時(shí)候需要手動(dòng)生成批量的數(shù)據(jù),然后再導(dǎo)入操作,費(fèi)時(shí)費(fèi)勁。所以寫了個(gè)腳本來實(shí)現(xiàn)。
在前面有說過用Python實(shí)現(xiàn)導(dǎo)入接口請(qǐng)求,現(xiàn)在來說一下xlsx中1000條自動(dòng)生成:
xlsx數(shù)據(jù)離不開openpyxl庫,openpyxl庫有個(gè)Workbook對(duì)象,其代表一個(gè)Excel文檔,Workbook中有一張或多張sheet,一個(gè)sheet就是一個(gè)Worksheet對(duì)象。
首先需要導(dǎo)包,from openpyxl import load_workbook,from openpyxl import Workbook。
xlsx文件的新增:
from openpyxl import load_workbook
import xlsxwriter
file_name = "max_1000.xlsx"
# 新建xlsx文件
workbook = xlsxwriter.Workbook(file_name)
worksheet = workbook.add_worksheet('Sheet1')
worksheet.write_row("A1",
['公司', '編碼', '渠道'])
#新增1000條數(shù)據(jù)
while m < 1000:
m += 1
# ["18"]、["21"]、["8"]分別代表第m行第1,2,3列的值,這里是寫死的數(shù)據(jù),也可以是參數(shù)化的數(shù)據(jù)
worksheet.write_row(m, 0, ["18"])
worksheet.write_row(m, 1, ["21"])
worksheet.write_row(m, 2, ["8"])
# 關(guān)閉文件
workbook.close()
# 執(zhí)行批量導(dǎo)入
data = load_yaml('./max_1000.yaml')['upload_file']
execute(data)xlsx文件的讀?。?/p>
通過Cell對(duì)象讀取每一格內(nèi)容
wb = load_workbook('max_1000.xlsx')
sheets = wb.worksheets
# 獲取第一個(gè)sheet
sheet1 = sheets[0]
# 獲取sheet1表第2行第1列的數(shù)據(jù)
cell_21 = sheet1.cell(2,1).value
# 獲取sheet1表第3行第2列的數(shù)據(jù)
cell_32 = sheet1.cell(3,2).value
xlsx文件新增后,可用于批量導(dǎo)入的數(shù)據(jù),xlsx文件的讀取可用于數(shù)據(jù)的清理,比如已導(dǎo)入數(shù)據(jù)的清除。
也可用for循環(huán),讀取xlsx文件的所有數(shù)據(jù)。
xlsx文件讀取所有數(shù)據(jù):
wb = load_workbook("max_1000.xlsx")
sheets = wb.worksheets
Sheet1 = sheets[0]
# 循環(huán)讀取數(shù)據(jù),Sheet1.max_row代表表格的最大行數(shù)
for i in range(Sheet1.max_row - 1):
# 獲取Sheet1表中所有行第4列的數(shù)據(jù)
data = Sheet1.cell(i + 2, 4).value
xlsx文件的編輯:
wb = load_workbook(file_path) ws = wb[sheet] # 修改.xlsx文件中的數(shù)據(jù),cell[0]對(duì)應(yīng)行數(shù), cell[1]對(duì)應(yīng)列數(shù),cell[-1]對(duì)應(yīng)需要修改后的值 ws.cell(cell[0], cell[1]).value = cell[-1] wb.save(file_path) wb.close()
到此這篇關(guān)于Python實(shí)現(xiàn)批量導(dǎo)入1000條xlsx數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Python 批量導(dǎo)入xlsx數(shù)據(jù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
對(duì)python numpy數(shù)組中冒號(hào)的使用方法詳解
下面小編就為大家分享一篇對(duì)python numpy數(shù)組中冒號(hào)的使用方法詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04
Python爬蟲實(shí)現(xiàn)HTTP網(wǎng)絡(luò)請(qǐng)求多種實(shí)現(xiàn)方式
這篇文章主要介紹了Python爬蟲實(shí)現(xiàn)HTTP網(wǎng)絡(luò)請(qǐng)求多種實(shí)現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06
python+selenium 腳本實(shí)現(xiàn)每天自動(dòng)登記的思路詳解
這篇文章主要介紹了python+selenium 腳本實(shí)現(xiàn)每天自動(dòng)登記,本文你給大家分享基本的思路,通過實(shí)例代碼截圖的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
Python基于遞歸算法求最小公倍數(shù)和最大公約數(shù)示例
這篇文章主要介紹了Python基于遞歸算法求最小公倍數(shù)和最大公約數(shù),結(jié)合實(shí)例形式分析了Python使用遞歸算法進(jìn)行數(shù)值計(jì)算的相關(guān)操作技巧,需要的朋友可以參考下2018-07-07
python3+django2開發(fā)一個(gè)簡單的人員管理系統(tǒng)過程詳解
這篇文章主要介紹了python3+django2開發(fā)一個(gè)簡單的人員管理系統(tǒng)過程詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07

