-4

現在、Excel ファイルから情報を取得してユーザーを作成する必要があるという点で、このプロジェクトに行き詰まっています。スクリプトには以下が必要です。

  • 従業員用のアカウントを作成する
  • それらを自分の部門グループに配置します
  • 社員IDで初期パスワードを設定
  • 新しいアカウントとパスワードを記載したメールを送信する
  • 画面上のドットで進行状況を表示する

近づいていますが、8行目と13行目でEOFエラーが発生しています。スクリプトはこちらを参照してください

#!bin/bash
echo $(pwd)/employeesdata.xls
Path=$($pwd)/employeesdata.xls
read Path
if [ -e $Path ];
then
Username= [ grep $(Username) $Path | cut -f1 -d `]'
Password= [ grep $(Password) $Path | cut -f2 -d `]'
useradd -- b $Username
echo $Password | /usr/bin/passwd --stdin $Username
fi
exit


I know it doesn't have the email portion yet.

PS-UserScript: 8 行目: 一致する `'' を探しているときに予期しない EOF が発生しました PS-UserScript: 13 行目: 構文エラー: 予期しないファイルの終わり

4

2 に答える 2

2

このタスクには、Spreadsheet::ParseExcel を使用できます。

最初にcpanmがインストールされていることを確認します。

$ cpan App::cpanminus

次に、モジュールをインストールします。

$ cpanm Spreadsheet::ParseExcel

インストールすると、質問にコピーした解析スクリプトを使用できるようになります。このスクリプトは一度に各セルを 1 つずつ取得しますが、読み取った値を使用して何かを行う必要があります。スプレッドシートの設定方法に応じて (サンプルまたは少なくとも役立つヘッダーを提供する場合)、行を反復処理するときに必要な情報を収集し、そのデータを使用して目的のアクションを実行する必要があります。集めました。

また、解析するファイルは古い *.xls 形式でなければならないことにも注意してください。ParseExcel は *.xlsx ファイルを解析しないため、必要に応じて Excel を使用して古い形式で保存してください。

于 2012-09-30T21:12:08.360 に答える
1

この単純な python スクリプトは、各セル/行を反復処理します。これは良いスタートになると思います:

#!/usr/bin/python

from openpyxl import load_workbook
wb = load_workbook(filename = 'file.xlsx', use_iterators = True)
ws = wb.get_sheet_by_name(name = 'Feuil1') # ws is now an IterableWorksheet

for row in ws.iter_rows(): # it brings a new method: iter_rows()
    for cell in row:
        print cell.internal_value
于 2012-09-30T20:26:23.233 に答える