对于某些背景,我有一本Excel宏启用的工作簿(xlsm),用于将一些用户输入的变量传递给Python。
在我的脚本中使用xlsx文件中的Pandas和pd.read_excel()很快,即使数据集很大。但是我注意到从xlsm文件读取甚至一行都需要很长时间。
即使通过将数据限制在一个较小的区域来读取一行,就像这样:
pd.read_excel('Automation.xlsm', skiprows=6, nrows=2, usecols='B:C')
与xlsx的0.03秒相比,它仍然可能需要20秒。
有什么方法可以提高读取xlsm文件的速度吗?
答案 0 :(得分:0)
尝试一次读取它:
<?php
require_once "pdo.php";
session_start();
if(isset($_POST['delete']) && isset($_POST['user_id'])){
$sql="DELETE FROM users WHERE user_id= :zip";
$stmt= $pdo->prepare($sql);
$stmt->execute(array(':zip' =>$_POST['user_id']));
$_SESSION['success']='Record Deleted';
header('Location: index.php');
return;}
$stmt=$pdo->prepare("SELECT name, user_id from users where user_id= :xyz");
$stmt->execute(array(":xyz"=>$_GET['user_id']));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if($row===false){
$_SESSION['error']="bad value for user id";
header('Location: index.php');
return;}
?>
<p>Confirm Deleting <?=htmlentities($row['name'])?></p>
<form method="post">
<input type="hidden" name="user_id" value="<?$row['user_id']?>">
<input type="submit" value="delete" name="delete">
<a href="index.php">Cancel</a>
</form>
根据您的数据库大小更改块大小
答案 1 :(得分:0)
我已经解决了这个问题。对于任何有此问题的人,修复都是非常基本的。
我在xlsm文件中选择了数据集之外的所有行和列,然后右键单击->删除。必须在很远的地方有一个空单元格,即使在pd.read_excel()中指定忽略它,它仍会增加读取时间。