是否有一些推荐的方法可以将数据从 R(以 形式data.table)传递到 Python,而无需将数据保存到磁盘?我知道我可以使用来自 R 的 python 模块使用reticulate(我想同样的事情可以在另一侧使用rpy2),但是从我读到的内容来看,这会损害库的整体性能,因此有很大的机会与尝试使用或使用 rpy2运行相比,最好将我的 r 存储到光盘data.table并使用 python 和运行从光盘读取相同的数据。lightgbmlightgbmreticulatedata.table
为什么我不坚持使用 R 或 Python:
我更喜欢使用 r data.table(而不是Pandas)进行数据操作,因为它速度更快,内存效率更高,并且具有许多我喜欢的功能,例如不等连接、滚动连接、笛卡尔连接以及非常简单的融合和铸件。我也喜欢这样,每当我data.table在堆栈溢出中提出相关问题时,我都会很快得到高质量的答案,而Pandas我还没有那么成功。但是,有些任务我更喜欢 Python,例如梯度提升或神经网络。
我使用以下代码创建带有表单验证的登录页面:
import React from 'react';
import { Button, Form, FormGroup, Label, Input } from 'reactstrap';
import { useForm } from 'react-hook-form';
class SignIn extends React.Component {
const { register, handleSubmit, errors } = useForm();
const onSubmit = data => console.log(data);
console.log(errors);
render() {
return (
<div>
<Form onSubmit={handleSubmit(onSubmit)}>
<Label>Email : </Label>
<Input type="email" placeholder="email" name="email" ref={register({required: true, pattern: /^\S+@\S+$/i})}></Input>
<Label>Password : </Label>
<Input type="password" placeholder="password" name="password" ref={register({required: true, min: 8, maxLength: 20})}></Input>
</Form>
</div>
);
}
}
export default SignIn; …Run Code Online (Sandbox Code Playgroud) 我正在使用 ReactJS 和 Django 框架构建一个 Web 应用程序。
在这个 Web 应用程序中,有一部分是我录制音频文件并将其发送到后端进行保存。
这是我从 ReactJS 发送的 blob 数据:
Blob {
size: 29535,
type: "audio/wav; codecs=0"
}
Run Code Online (Sandbox Code Playgroud)
这是我在后端使用的代码:
@api_view(['POST'])
@csrf_exempt
def AudioModel(request):
try:
audio = request.FILES.get('audio')
except KeyError:
return Response({'audio': ['no audio ?']}, status=HTTP_400_BAD_REQUEST)
destination = open('audio_name.wav', 'wb')
for chunk in audio.chunks():
destination.write(chunk)
destination.close() # closing the file
return Response("Done!", status=HTTP_200_OK)
Run Code Online (Sandbox Code Playgroud)
当我播放保存的文件时,它会播放一些声音,但在播放结束时崩溃。
这个问题让我寻找有关我保存的文件的一些信息(扩展名,...)。
出于这个原因,我使用了fleep库:
import fleep
with open("audio_name.wav", "rb") as file:
info = fleep.get(file.read(128))
print(info.type)
print(info.extension)
print(info.mime)
Run Code Online (Sandbox Code Playgroud)
输出:
['video']
['webm']
['video/webm']
Run Code Online (Sandbox Code Playgroud)
但是在输出中获取视频! …