簡體   English   中英

TypeError:itertuples()缺少1個必需的位置參數:“ self”

[英]TypeError: itertuples() missing 1 required positional argument: 'self'

我正在嘗試閱讀PDF文件並保存一些數據

import PyPDF2
import os
from pandas import DataFrame as df

FilePath = "/home/milenko/Documents/komp/"
FileName = "stats.pdf"
output_filename = "export.txt"
PageStart = 184
PageEnd = 185

for row in df.itertuples():
    page_start, page_end = row.PageStart, row.PageEnd
    filename = os.path.join(row.FilePath, row.FileName)
    with PdfFileMerger() as merger:
        merger.append(filename, pages=(page_start, page_end))
        merger.write(output_filename)

我懂了

  File "b21.py", line 11, in <module>
    for row in df.itertuples():
TypeError: itertuples() missing 1 required positional argument: 'self'

我最初的努力是從終端讀取一頁,但是我得到的數據根本沒有格式化

 pageObj = pdfReader.getPage(184)
"Appendix tables171Table A5 (continued) World merchandise exports by region and selected economy, 1990-00(Million dollars)19901991199219931994199519961997199819992000  Slovenia --668160836828831683128372904886048733  Spain556426017764334I609357312991613102091104277109037110246113747  Sweden5754055217561184985761292795848487982883849448484286933  Switzerland6378461517656786318570360816418084376150788568030081534 

我正在尋找任何可以將數據打印到表中的解決方案,或以后可以導出和處理的任何解決方案。

關於TypeError

itertuples是一個Dataframe方法,即必須從Dataframe類的實例中調用它。 你重命名類Dataframedf當你from pandas import DataFrame as df ,而不是實例化它。

使用df = Dataframe()一個實例,然后就可以調用itertuples() (顯然,在迭代之前,還需要用數據填充數據itertuples() )。

關於您使用itertuples

我不確定您要在這里做什么,但是我認為您應該看看itertuples文檔(以及其中的示例) 該函數對數據框內的數據進行迭代。 您甚至都沒有打開pdf文件,更不用說從其中讀取數據了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM