现在,我不得不从excel文件中提取信息来创建用户。该脚本需要以下内容。
我越来越接近但是我在第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行:语法错误:意外的文件结尾
答案 0 :(得分:2)
您可以使用Spreadsheet :: ParseExcel执行此任务:
首先确保已安装cpanm
:
$ cpan App::cpanminus
然后安装模块:
$ cpanm Spreadsheet::ParseExcel
安装后,您将能够使用已复制到问题中的解析脚本。该脚本将一次获取一个单元格,但是一旦读取,您仍需要对这些值执行某些操作。根据电子表格的设置方式(如果您提供样本或至少提供有用的标题),您可能希望在迭代行时收集所需的信息,然后使用数据执行所需的操作收集。
另外,我想指出您解析的文件必须采用较旧的* .xls格式。 ParseExcel不会解析* .xlsx文件,因此如果需要,首先使用Excel以旧格式保存。
答案 1 :(得分: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