質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

981閲覧

for文を実行すると一文字ずつ縦一列で表示される

sauthsss

総合スコア3

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2022/02/26 06:18

エクセルデータを収集するコードをpndasで実装しようとしたのですが
for文を用いてひとつずつデータを抽出して指定した変数に格納をしようと試みたのですが
print表示してみるとなぜか縦一列で表示されてしまします
調べてみたのですがなぜこうなるのか見当がつきません…
もしも知見者の方がいらっしゃいましたら、修正方法をご教示いただけないでしょうか
以下がコードの記述内容になります
よろしくお願いいたします

イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shiracamus

2022/02/26 06:32 編集

本当にそのプログラムでそうなりましたか? 実行したプログラムを図ではなく、テキストでコピペしていただけますか? こちらでも動作確認してみますので。
bboydaisuke

2022/02/26 06:41

実行結果の文字列に問題の原因があるかもしれないので、コードと合わせて filepaths の中身を出力した内容もテキストでコピペしてください。
sauthsss

2022/02/26 06:50

ご対応ありがとうございます 以下がfilepathsとfilespathの記述と出力結果になります テキストでコピペできておらず申し訳ございません ■filepaths記述内容 filepaths = glob("excel自動化/20210106_Python_Excel_01/source/*.xlsx") filepaths ■filepaths出力結果 ['excel自動化/20210106_Python_Excel_01/source\\請求書_10月_TTTInc.xlsx', 'excel自動化/20210106_Python_Excel_01/source\\請求書_11月_XYZ株式会社.xlsx', 'excel自動化/20210106_Python_Excel_01/source\\請求書_12月_株式会社ABC.xlsx'] ■filepath記述内容 for filepath in filepaths: print(filepath) ■filepath出力結果 e x c e l 自 動 化 / 2 0 2 1 0 1 0 6 _ P y t h o n _ E x c e l _ 0 1 / s o u r c e \ 請 求 書 _ 1 2 月 _ 株 式 会 社 A B C . x l s x
shiracamus

2022/02/26 07:00 編集

ディレクトリは変更しましたが、当方では改行されずに表示されました。 単体プログラムにしてコマンド実行してみてはいかがでしょう? ```py from glob import glob filepaths = glob("./*.xlsx") for filepath in filepaths: print(filepath) ``` ```出力結果 ./calendar_2021.xlsx ./calendar_2025.xlsx ```
guest

回答1

0

ベストアンサー

対話型で実行していますね。

filepaths = glob("excel自動化/20210106_Python_Excel_01/source/*.xlsx")

と、

for filepath in filepaths:

の間で、filepathsへ文字列を代入してしまった物と思われます。
例えば、

Python

1from glob import glob 2 3filepaths = glob("excel自動化/20210106_Python_Excel_01/source/*.xlsx") 4filepaths 5 6for filepaths in filepaths: 7 print(filepath) #・・・・・・・・・・・これでエラーになって、 8 9for filepath in filepaths: #・・・・・・・・と書き直して実行したとか 10 print(filepath)

対話型で実行すると、間違えた物が全部累積するので、
何かおかしい時は、対話型実行環境を初期化してゼロからやり直すか(そのとき間違えたら、またゼロから)
対話型で実行せず、「ファイルに書いて"python ファイル名"で実行」しましょう。

投稿2022/02/26 08:50

otn

総合スコア86295

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sauthsss

2022/02/27 01:31

治りました!!!ありがとうございます!!! 対話型実行環境を初期化してやり直す、覚えておきます! 有用な情報感謝いたします
otn

2022/02/27 02:00 編集

「間違えた結果何が起こったか」が把握出来ていれば、そこだけリカバリーすれば良いのですが。 今回は、「間違えた結果、filepathsを破壊してしまった」と認識出来ていれば、 filepaths = glob("excel自動化/20210106_Python_Excel_01/source/*.xlsx") をやり直すだけです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問