大家好。在 python 中使用 pandas 模块读取 .xlsx 文件时出现问题。所有值均显示为 NaN。导入 Openpyxl。
import pandas as pd
df = pd.read_excel('../data/test.xlsx')
data = pd.DataFrame(df, columns=['FIO', 'MIO'])
print(data)
表格中有几行/text/text/.../text/searchedText/tests/text,您需要使用常规方法在其中查找searchedText。我尝试了类似 的表达式(?<=/).*?(?=/tests),但它对文本开头的第一个斜杠做出反应。请告诉我如何正确重写表达式,以便它仅选择/第二个条件之前的最后一个匹配项。
我无法通过 Spring boot 配置西里尔文中带有 Mustache 扩展名的文件的显示
这是控制器根据请求 /addexcel 传输到的 Mustach 文件:
<html lang="en">
<head>
<meta charset="utf-8">
<title>Отправка файла на сервер</title>
</head>
<body>
<div>
<form action="\logout" method="post">
<input type="submit" value="Выйти"/>
</form>
</div>
<div></div>
<div></div>
<h3>Добавьте файл для расчета статистики:</h3>
<div></div>
<div></div>
<form enctype="multipart/form-data" method="post" action="/getResult">
<p><input type="file" name="file">
<input type="submit" value="Отправить"></p>
</form>
<div></div>
<div></div>
</body>
</html>
以下是应用程序属性:
spring.application.name=XLSX4
spring.servlet.multipart.enabled=true
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.file-size-threshold=2KB
spring.servlet.multipart.max-request-size=10MB
这是 pom.xml:
modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.3.0</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>org.workproject</groupId>
<artifactId>XLSX5</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>XLSX5</name>
<description>XLSX parcer project for Spring Boot</description>
<url/>
<licenses>
<license/>
</licenses>
<developers>
<developer/>
</developers>
<scm>
<connection/>
<developerConnection/>
<tag/>
<url/>
</scm>
<properties>
<java.version>17</java.version>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-mustache</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-springsecurity6</artifactId>
<!-- Temporary explicit version to fix Thymeleaf bug -->
<version>3.1.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.poi</groupId>
<artifactId>poi-ooxml</artifactId>
<version>5.2.3</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
它的显示方式如下:
请告诉我如何解决这个图形问题:
条款:
给定一个整数数组 (
-100 000 000 ≤ arr[i] ≤ 100 000 000)。您可以在数组中向前和向后移动一步(
i - 1或i + 1)。您还可以一步在任意方向上在数组中移动相同的数字。
任务:
求从第一个数字到最后一个数字的最少步数。
输入数据:
n输入是一个字符串,其中包含长度为(1 ≤ n ≤ 50 000) 的整数数组
示例1:
输入:
4 6 3 3 6结论:
2解释:
从第一个数字 (
4) 只能到达第二个数字 (6)。您可以从第二个 (6) 移动到第五个 (6),因为数字相同。最少步数:
2.示例2:
输入:
31 -6 -6 21 31 8 8 8 5 21结论:
3解释:
从第一个 (
31) 移动到第五个 (31),然后退到第四个 (21),然后到最后一个 (21)。实施例3:
输入:
7 6 1 6 1 6 1 7结论:
1解释:
从第一个 (
7) 开始,我们移动到最后一个 (7)。
我在 中编写了以下代码NodeJS,但是由于超出了执行时间限制,响应没有通过沙箱:
const readline = require('readline').createInterface(process.stdin, process.stdout);
function connect(graph, i, j) {
graph[i].push(j);
graph[j].push(i);
}
readline.on('line', (line) => {
const islands = line.trim().split(' ').map(Number);
const n = islands.length;
// Создание графа
const graph = Array.from({ length: 2 * n - 1 }, () => []);
// Подключение соседних островов
for (let j = 0; j < 2 * n - 2; ++j) {
connect(graph, j, j + 1);
}
// Создание порталов (материков)
const continents = new Map();
for (let i = 0; i < n; ++i) {
const c = islands[i];
if (!continents.has(c)) {
continents.set(c, graph.length);
graph.push([]);
}
connect(graph, 2 * i, continents.get(c));
}
const distance = new Array(graph.length).fill(0);
const queue = [0]; // Можно использовать массив как очередь
// BFS
while (queue.length > 0) {
const j = queue.shift(); // Извлекаем первый элемент очереди
if (j === 2 * n - 2) {
break;
}
for (const k of graph[j]) {
if (distance[k] === 0) {
distance[k] = distance[j] + 1;
queue.push(k);
}
}
}
console.log(String(distance[2 * n - 2] / 2));
readline.close();
}).on('close', () => process.exit(0));
有人可以帮忙优化解决方案吗?
现在有了这个结果,如何让这一切不断发生呢?我们需要图片朝不同的方向移动。
const imagesOne = [
'assets/img/main-1.jpg',
'assets/img/main-2.jpg',
'assets/img/main-3.jpg'
];
const imagesTwo = [
'assets/img/main-4.jpg',
'assets/img/main-5.jpg',
'assets/img/main-6.jpg'
];
const boxOne = document.querySelector('.ag_main-right_one');
const boxTwo = document.querySelector('.ag_main-right_two');
imagesOne.forEach(src => {
const img = document.createElement('img');
img.className = 'ag_main-right_img';
img.src = src;
img.alt = 'main';
boxOne.appendChild(img);
});
imagesTwo.forEach(src => {
const img = document.createElement('img');
img.className = 'ag_main-right_img';
img.src = src;
img.alt = 'main';
boxTwo.appendChild(img);
});
.ag_main-right {
height: 700px;
overflow: hidden;
position: relative;
width: 100%;
max-width: 574px;
}
.ag_main-right_box {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-orient: vertical;
-webkit-box-direction: normal;
-ms-flex-direction: column;
flex-direction: column;
gap: 25px;
position: absolute;
-webkit-transition: -webkit-transform 0.5s ease;
transition: -webkit-transform 0.5s ease;
-o-transition: transform 0.5s ease;
transition: transform 0.5s ease;
transition: transform 0.5s ease, -webkit-transform 0.5s ease;
/* Добавляем плавность перехода */
}
.ag_main-right_img {
max-width: 277px;
width: 100%;
border-radius: 30px;
-o-object-fit: cover;
object-fit: cover;
}
.ag_main-right_one {
left: 0;
-webkit-animation: scrollDown 10s linear infinite;
animation: scrollDown 10s linear infinite;
top: 0;
}
.ag_main-right_two {
right: 0;
top: 0;
-webkit-animation: scrollUp 10s linear infinite;
animation: scrollUp 10s linear infinite;
}
@-webkit-keyframes scrollDown {
0% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: translateY(-100%);
transform: translateY(-100%);
}
}
@keyframes scrollUp {
0% {
-webkit-transform: translateY(0);
transform: translateY(0);
}
100% {
-webkit-transform: translateY(100%);
transform: translateY(100%);
}
}
<div class="ag_main-right">
<div class="ag_main-right_box ag_main-right_one">
<img class="ag_main-right_img" src="https://cache3.youla.io/files/images/780_780/5b/58/5b5827cf22a449378552f293.jpg" alt="main">
<img class="ag_main-right_img" src="https://cache3.youla.io/files/images/780_780/5b/58/5b5827cf22a449378552f293.jpg" alt="main">
<img class="ag_main-right_img" src="https://cache3.youla.io/files/images/780_780/5b/58/5b5827cf22a449378552f293.jpg" alt="main">
<img class="ag_main-right_img" src="https://cache3.youla.io/files/images/780_780/5b/58/5b5827cf22a449378552f293.jpg" alt="main">
<img class="ag_main-right_img" src="https://cache3.youla.io/files/images/780_780/5b/58/5b5827cf22a449378552f293.jpg" alt="main">
<img class="ag_main-right_img" src="https://cache3.youla.io/files/images/780_780/5b/58/5b5827cf22a449378552f293.jpg" alt="main">
</div>
<div class="ag_main-right_box ag_main-right_two">
<img class="ag_main-right_img" src="https://cache3.youla.io/files/images/780_780/5b/58/5b5827cf22a449378552f293.jpg" alt="main">
<img class="ag_main-right_img" src="https://cache3.youla.io/files/images/780_780/5b/58/5b5827cf22a449378552f293.jpg" alt="main">
<img class="ag_main-right_img" src="https://cache3.youla.io/files/images/780_780/5b/58/5b5827cf22a449378552f293.jpg" alt="main">
<img class="ag_main-right_img" src="https://cache3.youla.io/files/images/780_780/5b/58/5b5827cf22a449378552f293.jpg" alt="main">
<img class="ag_main-right_img" src="https://cache3.youla.io/files/images/780_780/5b/58/5b5827cf22a449378552f293.jpg" alt="main">
<img class="ag_main-right_img" src="https://cache3.youla.io/files/images/780_780/5b/58/5b5827cf22a449378552f293.jpg" alt="main">
</div>
</div>