Как преобразовать переменную рабочего листа в список списков Python? - PullRequest
0 голосов
/ 29 мая 2020

Я читаю таблицу из файла Excel следующим способом:

workbook = excel.Workbooks.Open(filename)
inputdata=workbook.Worksheets("Values").Select() ## Select Worksheet by Name     
ws1 = workbook.Worksheets("Values") #workbook.ActiveSheet.Name

когда я набираю ws в командной строке, я получаю

System.__ComObject

Я могу получить доступ к таблице в ws1 автор:

print ws1.Cells(i,j).Value2

Но мне нужна таблица следующим образом:

table =[[row1], [row2],[row3],...]

выполнение dir (ws1) У меня есть

[' ACTIVATE ',' Activate ',' Application ',' Arcs ',' AutoFilter ',' AutoFilterMode ',' BEFOREDELETE ',' BEFOREDOUBLECLICK ',' BEFORERIGHTCLICK ',' Buttons ',' CALCULATE ',' CHANGE ',' Calculate ' , 'Cells', 'ChartObjects', 'CheckBoxes', 'CheckSpelling', 'CircleInvalid', 'CircularReference', 'ClearArrows', 'ClearCircles', 'CodeName', 'Columns', 'Comments', 'CommentsThreaded', ' ConsolidationFunction ',' ConsolidationOptions ',' ConsolidationSources ',' Copy ',' CreateObjRef ',' Creator ',' CustomProperties ',' DEACTIVATE ',' Delete ',' DisplayAutomaticPageBreaks ',' DisplayPageBreaks ',' DisplayRightToLeft ',' DrawingObjects ' , 'Рисунки', 'Раскрывающиеся меню', 'EnableAutoFilter', 'EnableCalculation', 'EnableFormatCon ditionsCalculation ',' EnableOutlining ',' EnablePivotTable ',' EnableSelection ',' Equals ',' Evaluate ',' ExportAsFixedFormat ',' FOLLOWHYPERLINK ',' FilterMode ',' GetHashCode ',' GetLifetimeService ',' GetHashCode ',' GroupTypees ', , 'GroupObjects', 'HPageBreaks', 'Hyperlinks', 'Index', 'InitializeLifetimeService', 'LENSGALLERYRENDERCOMPLETE', 'Labels', 'Lines', 'ListBoxes', 'ListObjects', 'MailEnvelope', 'MemberwiseClone', ' Move ',' Name ',' Names ',' Next ',' OLEObjects ',' OnCalculate ',' OnData ',' OnDoubleClick ',' OnEntry ',' OnSheetActivate ',' OnSheetDeactivate ',' OptionButtons ',' Outline ' , 'Овалы', 'PIVOTTABLEAFTERVALUECHANGE', 'PIVOTTABLEBEFOREALLOCATECHANGES', 'PIVOTTABLEBEFORECOMMITCHANGES', 'PIVOTTABLEBEFOREDISCARDCHANGES', 'PIVOTTABLEBEFOREDISCARDCHANGES', 'PIVOTTABLEBEFOREDISCARDCHANGES', 'PIVOTTABLECHANGESYN C' Special, 'PIVOTTABLECHANGESYN *1053*' ',' PivotTableWizard ',' PivotTables ',' Previous ',' PrintOut ',' PrintPreview ',' PrintedCommentPages ',' Protect ',' ProtectContents ',' ProtectDrawingObjects ',' ProtectScenar * 1 054 * ',' Protection ',' ProtectionMode ',' QueryTables ',' Range ',' Rectangles ',' ReferenceEquals ',' ResetAllPageBreaks ',' Rows ',' SELECTIONCHANGE ',' SaveAs ',' Scenar ios ' , 'Scripts', 'ScrollArea', 'ScrollBars', 'Select', 'SetBackgroundPicture', 'Shapes', 'ShowAllData', 'ShowDataForm', 'SmartTags', 'Sort', 'Spinners', 'StandardHeight', ' StandardWidth ',' TABLEUPDATE ',' Tab ',' TextBoxes ',' ToString ',' TransitionExpEval ',' TransitionFormEntry ',' Type ',' Unprotect ',' UsedRange ',' VPageBreaks ',' Visible ',' XmlDataQuery ' , XmlMapQuery, _AutoFilter, _CheckSpelling, _CodeName, _DisplayRightToLeft, _Evaluate, _ExportAsFixedFormat, _PasteSpecial, _PrintOut, _PrintOut, _PrintOut, _PrintOut PrintOut ',' __SaveAs ',' __class ',' delattr ',' do c ',' формат ', ' getattribute ', ' ha sh', ' init ', ' new ', ' reduce ',' reduce_ex ',' repr ',' setattr ', ' sizeof ', ' str ', ' subclasshook ']

Я пробовал это l oop, но он добавляет значения чрезмерно раз

innerlist=[];
mygrid=[]
for i in range(2,14):
    for j in range(2,22):
        innerlist.append(ws1.Cells(i,j).Value2)
    mygrid.append(innerlist)

всего один момент: я использую python add в другом программном обеспечении, поэтому я не могу использовать такие библиотеки, как pandas et c. Я мог бы просто использовать простые циклы и алгоритмы

...