スプレッドシートの各項目(行)のディレクトリを作成しようとしていますが、どうすればpython 3.5でそれを行うことができますか? pipとcondaを使ってパンダをインストールしようとしましたが、動作しません。visual-C++ビルドツールが必要です。ツールをインストールしても同じエラーが発生します。 。 パンダは.xlsシートの各行のディレクトリを作成する最も良い方法ですか?私は複数の.xlsファイルを持っています.xlsの各項目のディレクトリを作成する方法python
-1
A
答えて
1
あなたの質問のいくつかのポイント私にとって非常に明確ではないですが、私はいくつかのアイデアを提供しようとします。 xlrdを使用することができます(こちらのドキュメント:http://xlrd.readthedocs.io/en/latest/index.html)。
「sample.xls」というファイルがあり、その中に多数のシートがあるとします。各シートに対して、そのシートの行数として「C:\ test」(Windowsのパスと見なします)にいくつでもフォルダを作成します。また、シートの名前に続いてプログレッシブ数字 を使用して、そのようなフォルダに名前を付けることを前提とします(実際のニーズに合わせて簡単にコードを編集できます)。
import os
from xlrd import open_workbook
parentPath = r"C:\test"
xlsFile = open_workbook('sample.xls') # Open the xls file
for sheetName in xlsFile.sheet_names(): # Loop over the sheets inside the xls file
i = 1 # Initialize the index to be used in folder names
for row in xlsFile.sheet_by_name(sheetName).col(0): # Select the first column and loop over the rows
childPath = ''.join([sheetName, '_', str(i)])
newPath = os.path.join(parentPath,childPath)
if not os.path.exists(newPath): # Make sure the path does not exist
os.makedirs(newPath)
i += 1
PS:私は、CSVファイルを使用すると少し楽になることに同意します。
EDIT:
次のソリューションを使用すると、XLSファイル内の各シートに(空でない)細胞の数と同じ数のフォルダを作成したいという仮定に基づいて、各フォルダを持っているということです'sheetName_rowi_colj'の形式の名前 ここで、iとjは2つのインデックスであり、シート内のセルの位置に関連しています。
import os
from xlrd import open_workbook
parentPath = r"C:\test"
xlsFile = open_workbook('sample.xls',ragged_rows=True) # Open the xls file
for sheetName in xlsFile.sheet_names(): # Loop over the sheets inside the xls file
for rowIdx in range(xlsFile.sheet_by_name(sheetName).nrows): # Loop over the rows
for colIdx in range(xlsFile.sheet_by_name(sheetName).row_len(rowIdx)): # Loop over the columns for each row
if xlsFile.sheet_by_name(sheetName).cell_value(rowIdx,colIdx) != '': # Check if the cell is empty
childPath = ''.join([sheetName, '_row', str(rowIdx+1), '_col', str(colIdx+1)]) # +1 because indices start from zero
newPath = os.path.join(parentPath,childPath)
if not os.path.exists(newPath): # Make sure the path does not exist
os.makedirs(newPath)
xlsファイルの数が多い場合は、それらのファイルをループするだけです。
0
ファイルをCSV形式で保存すると、この作業がはるかに簡単になります。これを試してみてください:
import csv, sys, os
folder_list = []
with open('folders.csv', 'rb') as f:
reader = csv.reader(f)
for row in reader:
for item in row:
if item != None:
folder_list.append(item)
print item
for folder in folder_list:
try:
os.makedirs(folder)
except WindowsError as e:
pass
関連する問題
- 1. 3行リストビュー項目の作成方法
- 2. 各項目のチェックボックスをクリックして次の項目にスクロールする方法(recyclerview)
- 3. 移動する背景の項目を作成する方法
- 4. Python:リストの各項目を値の範囲で置き換える方法は?
- 5. RecyclerViewの各項目の値を変更する方法
- 6. UINavigationツールバーのサブビュー項目を作成する方法Interface Builder?
- 7. PreferenceActivity、メニューをナビゲートするPreference項目の作成方法は?
- 8. オプション項目のリストからスカラーマップを作成する方法は?
- 9. djangoで単一項目のチェックボックスを作成する方法
- 10. BrightScript:PosterGrid項目のグリッドを作成する方法は?
- 11. ManyToManyFieldに複数の項目をプログラムで作成する方法
- 12. 各項目のすべての配列項目をループする
- 13. グリッド内の各セルから項目を取得する方法
- 14. MongoCollectionの各項目をループする方法は?
- 15. サブメニュー項目を保持するドロップリストを作成する方法
- 16. リストの各項目のn番目の要素を取得する方法R
- 17. 投影サブメニューを作成するメニュー項目の項目オーチャードCMS
- 18. 各リスト項目
- 19. ディレクトリ内の選択された項目を削除するループを作成する方法
- 20. チェックボックス項目を持つ方法リストを作成する
- 21. 各行の後に新しい行を作成する方法10フッターのリスト項目
- 22. PHPで定期金額項目を作成する方法は?
- 23. Qt 5.6でトグルメニュー項目を作成する方法
- 24. ウィザードで複数項目テンプレートを作成する方法
- 25. 単一選択項目を作成する方法
- 26. list comprehension:入力リストの各項目に対して2つの項目を作成しますか?
- 27. ドロップダウンリストの各項目のボタン
- 28. 各項目の後のリストビューディバイダー
- 29. リストビューの各項目のオプション
- 30. VSTSのIdを使用して作業項目を作成する方法は?
組み込みのVBAを試しましたか? https://www.techonthenet.com/excel/formulas/mkdir.php –