Shoshinshaoshiete
@Shoshinshaoshiete

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Pythonで複数のExcelファイルを集約させたい

解決したいこと

Python初心者で、Pythonの資格は一応持っていますが
あまり覚えていないレベルです。

Pythonで複数のExcelファイルを集約させたいです。

Pythonを使用しています。

以下のExcelファイルを集約させることが最終目標です。
"C:\Users\xxxxx\Desktop\source\1.xlsx"
"C:\Users\xxxxx\Desktop\source\2.xlsx"
"C:\Users\xxxxx\Desktop\source\3.xlsx"

例)
Ruby on RailsでQiitaのようなWebアプリをつくっています。
記事を投稿する機能の実装中にエラーが発生しました。
解決方法を教えて下さい。

発生している問題・エラー

---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-19-20f658ccf105> in <module>
----> 1 columns =_df.iloc[8, [2,5]]

~\anaconda3\lib\site-packages\pandas\core\indexing.py in __getitem__(self, key)
    887                     # AttributeError for IntervalTree get_value
    888                     return self.obj._get_value(*key, takeable=self._takeable)
--> 889             return self._getitem_tuple(key)
    890         else:
    891             # we by definition only have the 0th axis

~\anaconda3\lib\site-packages\pandas\core\indexing.py in _getitem_tuple(self, tup)
   1448     def _getitem_tuple(self, tup: Tuple):
   1449 
-> 1450         self._has_valid_tuple(tup)
   1451         with suppress(IndexingError):
   1452             return self._getitem_lowerdim(tup)

~\anaconda3\lib\site-packages\pandas\core\indexing.py in _has_valid_tuple(self, key)
    721         for i, k in enumerate(key):
    722             try:
--> 723                 self._validate_key(k, i)
    724             except ValueError as err:
    725                 raise ValueError(

~\anaconda3\lib\site-packages\pandas\core\indexing.py in _validate_key(self, key, axis)
   1371             # check that the key does not exceed the maximum size of the index
   1372             if len(arr) and (arr.max() >= len_axis or arr.min() < -len_axis):
-> 1373                 raise IndexError("positional indexers are out-of-bounds")
   1374         else:
   1375             raise ValueError(f"Can only index by location with a [{self._valid_types}]")

IndexError: positional indexers are out-of-bounds

例)

IndexError: positional indexers are out-of-bounds

または、問題・エラーが起きている画像をここにドラッグアンドドロップ

該当するソースコード


import pandas as pd
from glob import glob

filepaths = glob("C:/Users/xxxxx/Desktop/source/*.xlsx")
filepaths

filepath = filepaths[0]
filepath

_df=pd.read_excel(filepath)
_df 

columns =_df.iloc[8, [2,5]]

自分で試したこと

IndexError: positional indexers are out-of-bounds
を検索しました。

0

1Answer

columns =_df.iloc[8, [2,5]] の「行」をスライスで指定するのはいかがでしょうか?

例えば7行目のデータのみが欲しいなら
columns =_df.iloc[7:8, [2,5]] 

0~7行目のデータが欲しいなら
columns =_df.iloc[:8, [2,5]] 

もしくは、単にその位置にデータがないだけなのかも。

0Like

Comments

  1. ありがとうございます!!
    YouTubeの動画を見ながらやって見てたのですがなかなかできず...

    スライスで指定する、ですね
    ありがとうございます!検索して試してみます!

Your answer might help someone💌