帮我写一个改Excel表格作业的脚本,作用:批量打开每个Excel表格和答案Excel表格做比较,对比答案和作业的表格内容,相似度越高成绩越高但最高不超过98,最底不低于50,而且成绩最好可以被5整除,成绩就重命名在Excel表格的原名后。
时间: 2023-04-05 15:04:09 浏览: 80
我可以回答这个问题。您可以使用Python编写一个脚本来实现这个功能。您可以使用pandas库来读取Excel文件,并使用difflib库来计算相似度。然后,您可以根据相似度计算出成绩,并将成绩重命名为Excel表格的原名后。以下是一个示例代码:
```python
import os
import pandas as pd
import difflib
# 获取所有Excel文件
files = [f for f in os.listdir('.') if f.endswith('.xlsx')]
for file in files:
# 读取作业表格和答案表格
df1 = pd.read_excel(file)
df2 = pd.read_excel('answer.xlsx')
# 计算相似度
seq = difflib.SequenceMatcher(None, str(df1.values), str(df2.values))
similarity = seq.ratio()
# 计算成绩
score = int(similarity * 48) + 50
score = score - score % 5
# 重命名文件
os.rename(file, f"{file[:-5]}_{score}.xlsx")
```
请注意,此脚本仅供参考,您可能需要根据您的具体需求进行修改。
相关问题
在此基础上使用excel表格内的用户名密码实现批量登录,请写出表格的格式,包含用户名和密码可用于该脚本的登录
要实现使用 Excel 表格内的用户名密码批量登录,可以按照以下格式创建 Excel 表格:
| 用户名 | 密码 |
| :--------: | :------: |
| user1 | password |
| user2 | password |
| user3 | password |
| ... | ... |
其中,第一列为用户名,第二列为密码。可根据需要添加更多行,每行代表一个用户。
在实现登录脚本时,可以使用 Python 的 `openpyxl` 库来读取 Excel 表格内容,并将每个用户的用户名和密码传递给登录函数进行登录。例如:
```python
import openpyxl
# 打开 Excel 表格
workbook = openpyxl.load_workbook('user_info.xlsx')
# 获取 Sheet 表格
sheet = workbook.active
# 遍历表格中每一行
for row in sheet.iter_rows(min_row=2, values_only=True):
# 取出用户名和密码
username, password = row
# 调用登录函数进行登录
login(username, password)
```
其中,`min_row=2` 表示从第二行开始读取表格内容,因为第一行是标题行。`values_only=True` 表示只读取单元格的值,而不包括格式等其他信息。`login()` 函数需要根据具体情况进行编写,用于实现登录功能。
帮我生成一个python脚本,从指定文件夹批量提取txt指定文本到excel
### 回答1:
好的,我可以回答这个问题。您可以使用Python中的os和xlwt库来实现这个功能。以下是一个简单的示例代码:
```
import os
import xlwt
# 指定文件夹路径和要提取的文本
folder_path = "your_folder_path"
target_text = "your_target_text"
# 创建Excel文件和工作表
workbook = xlwt.Workbook(encoding="utf-8")
worksheet = workbook.add_sheet("Text Extraction")
# 设置表头
worksheet.write(, , "File Name")
worksheet.write(, 1, "Text")
# 遍历文件夹中的所有txt文件
row = 1
for filename in os.listdir(folder_path):
if filename.endswith(".txt"):
file_path = os.path.join(folder_path, filename)
with open(file_path, "r", encoding="utf-8") as f:
# 读取文件内容
file_content = f.read()
# 查找目标文本
if target_text in file_content:
# 将文件名和目标文本写入Excel表格中
worksheet.write(row, , filename)
worksheet.write(row, 1, target_text)
row += 1
# 保存Excel文件
workbook.save("text_extraction.xls")
```
您需要将代码中的"your_folder_path"和"your_target_text"替换为您自己的文件夹路径和目标文本。此代码将在指定文件夹中查找所有txt文件,并将包含目标文本的文件名和目标文本写入Excel表格中。
### 回答2:
当然,下面是一个用Python编写的脚本,可以从指定文件夹中批量提取txt文件中的指定文本,并将其导出到Excel表格中:
```python
import os
import glob
import openpyxl
def extract_text_from_file(file_path):
with open(file_path, 'r', encoding='utf-8') as file:
content = file.read()
# 在这里添加提取文本的逻辑,可以使用正则表达式或其他方法来匹配需要提取的文本
# 提取的文本可以存储到一个列表中,如texts.append(extracted_text)
# 这里只是一个示例:
extracted_text = content.split(' ')
return extracted_text
def extract_text_from_folder(folder_path):
texts = []
for file_path in glob.glob(os.path.join(folder_path, '*.txt')):
extracted_text = extract_text_from_file(file_path)
texts.extend(extracted_text)
return texts
def export_to_excel(texts):
wb = openpyxl.Workbook()
sheet = wb.active
for i, text in enumerate(texts, start=1):
sheet.cell(row=i, column=1, value=text)
wb.save('extracted_text.xlsx')
if __name__ == '__main__':
folder_path = '指定文件夹的路径'
texts = extract_text_from_folder(folder_path)
export_to_excel(texts)
```
使用这个脚本,请确保已经安装了`openpyxl`库,可以使用`pip install openpyxl`命令进行安装。另外,您需要将`folder_path`变量替换为您要提取txt文件的文件夹路径。
这个脚本首先定义了两个函数`extract_text_from_file`和`extract_text_from_folder`,分别用于从单个txt文件提取文本和遍历指定文件夹提取全部txt文件的文本。然后使用`export_to_excel`函数将提取的文本保存到Excel文件中。
希望这个脚本对您有所帮助!如果有任何问题,请随时提问。
### 回答3:
你好!以下是一个简单的Python脚本示例,可以从指定文件夹中批量提取txt文件中的指定文本并保存到Excel文件中。
```python
import os
import openpyxl
# 指定文件夹路径
folder_path = "指定文件夹路径"
# 创建Excel文件
workbook = openpyxl.Workbook()
sheet = workbook.active
# 设置要提取的文本
target_text = "指定文本"
# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path):
if filename.endswith(".txt"):
file_path = os.path.join(folder_path, filename)
# 打开文本文件并按行读取内容
with open(file_path, "r") as file:
lines = file.readlines()
# 遍历每一行
for line in lines:
# 如果找到目标文本则写入Excel中
if target_text in line:
row = (filename, line)
sheet.append(row)
# 保存Excel文件
workbook.save("提取结果.xlsx")
```
请将代码中的`指定文件夹路径`修改为你需要操作的文件夹路径,将`指定文本`修改为你要提取的目标文本。运行脚本后,将会在当前目录下生成一个名为`提取结果.xlsx`的Excel文件,其中包含了每个txt文件中包含目标文本的行。请确保已安装`openpyxl`库,可以通过`pip install openpyxl`命令进行安装。
希望对你有帮助!如果有任何问题,请随时提问。