Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何让多个用户在同一个文件上工作?

如何让多个用户在同一个文件上工作?
EN

Stack Overflow用户
提问于 2019-10-06 16:25:39
回答 2查看 52关注 0票数 0

在python中,可以从不同的用户操作同一文件吗?让我说得更清楚一些:我想做一个可以读取数据库的软件(我使用的是pandas)。该软件将在不同的计算机上同时使用,并且它将读取和写入相同的数据库。那么,有没有一种工具可以持续检查数据库中最近更新的语音,并在每个用户的RAM中刷新它?或者有更聪明的方法来达到这个目的呢?

非常感谢!

EN

回答 2

Stack Overflow用户

发布于 2019-10-06 16:36:24

任何与ACID兼容的数据库(在这种情况下,“隔离”特性是关键)都会提供这些特性。一个很好的免费数据库是PostgreSQL,另一个选择(如果您可以访问它的话)是MS-SQL Server。

您确实希望使用符合ACID的数据库来完成此任务,而不是自己处理此问题。

这个问题已经存在了几十年,并且已经得到了解决。如果你想处理磁盘上的普通文件,有太多的边缘情况会让你的生活变得非常困难。

另外,pandas非常有能力从这样的数据库中读取数据。

一些基础知识

考虑到这个问题的表达方式,我冒然假设这对你来说可能是一个新领域,所以这里有一些“最小”的指导来帮助你入门。但你必须阅读的一些东西是:

  • SQL -结构化查询语言-用于从数据库表中提取数据。在将数据转换为数据帧之前,您可以使用它对数据进行预处理和预过滤。这将减少计算机和网络上的负载。根据数据大小,这将减少正在使用的数据库的负载considerably.
  • The文档:最重要的是,存在哪些数据类型以及安装说明。

假设您从CSV文件开始,下面是一个简单的示例。

准备数据库

您首先需要将CSV数据加载到数据库中。出于本例的考虑,我将使用PostgreSQL。其他数据库将使用不同的语法来加载数据。

我也会非常自由地选择数据类型,我不会使用“主键”。但这只是为了让它尽可能简单。你的应该为你的最终解决方案阅读这些主题!

因此,让我们假设以下关于DB的信息(请参阅下面关于如何使用docker运行测试实例的附录):

  • 它运行在主机"192.0.2.1“上,使用端口”5432“
  • 数据库名(每个数据库服务器可以运行多个数据库)用户名是"jdoe”,密码是"supersecret"

此外,让我们使用一个免费的数据文件来发挥作用。让我们使用some AirBNB data (这是在撰写本文时出现在kaggle上的第一个东西)。

然后,我们可以使用命令行客户端psql来连接、创建表和加载数据文件:

连接中

在命令行上,运行以下命令

代码语言:javascript
运行
AI代码解释
复制
psql postgres://jdoe:supersecret@192.0.2.1:5432/stackoverflow

它包含上面列出的值。有些可以省略(如密码或默认端口),但为了说明的目的,我将它们保留了下来。

现在,您可以运行SQL查询来创建新表。这类似于数据框,保存所有用户的数据。此查询还定义了表名、列名和数据类型:

创建表并加载数据

显然,该表只需要创建一次。数据加载取决于您的需求。使用SQL,每个用户还可以在表中插入、修改和删除数据。

代码语言:javascript
运行
AI代码解释
复制
CREATE TABLE mydata (
    id INTEGER,
    name TEXT,
    host_id INTEGER,
    host_name TEXT,
    neighbourhood_group TEXT,
    neighbourhood TEXT,
    latitude FLOAT,
    longitude FLOAT,
    room_type TEXT,
    price INTEGER,
    minimum_nights INTEGER,
    number_of_reviews INTEGER,
    last_review DATE,
    reviews_per_month FLOAT,
    calculated_host_listings_count INTEGER,
    availability_365 INTEGER
);

现在我们可以加载数据(从kaggle data-set):

代码语言:javascript
运行
AI代码解释
复制
\copy mydata FROM AB_NYC_2019.csv WITH CSV HEADER;

详情请参见COPY

在此之后,我们可以退出postgres控制台并返回到Python/Pandas。

熊猫

首先,确保您有一个能够连接到psycopg2-binary等postgres的Python库。

导入:

代码语言:javascript
运行
AI代码解释
复制
import pandas
import psycopg2

连接和阅读:

代码语言:javascript
运行
AI代码解释
复制
connection = psycopg2.connect("postgresql://jdoe:supersecret@192.0.2.1/stackoverflow")
df = pandas.read_sql("SELECT * FROM mydata", connection, index_col="id")

附录-在docker中运行postgres

可以使用以下命令启动新的docker实例:

代码语言:javascript
运行
AI代码解释
复制
docker run \
    --rm \
    --name pg-docker \
    -e POSTGRES_PASSWORD=docker \
    -p 5432:5432 \
    postgres

这将创建一个名为postgres的数据库,用户postgres和密码docker都可以访问该数据库。这些值可用于上述示例,当然不应在生产中使用。

票数 1
EN

Stack Overflow用户

发布于 2019-10-06 16:34:45

检查这一点,https://pandas.pydata.org/pandasdocs/stable/reference/api/pandas.DataFrame.to_sql.html pandas with SQL将是一个很好的解决方案

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58259175

复制
相关文章
VsDoc for jQuery
Microsoft 现在完全支持 jQuery 并将它集成在ASP.NET MVC 框架。jQuery-vsdoc.js文件,该文件对串连的jQuery selector方法的JavaScript intellisense提供了帮助注释和支持。 此外,扩展已完全集成 jQuery Visual Studio 2008 SP 1 中的 IntelliSense。2009年2月24日Visual Web Developer Team宣告了1.3*-vsdoc的官方版本! 現在大家可以直接由jQuery官方网站的
张善友
2018/01/30
8600
鼠标点击层以外的地方层隐藏
根据去哪儿(http://www.qunar.com/)输入框点击按钮而写 实现功能效果: 1、点击按钮,相应层显示,点击层以外的部分层隐藏; 2、重复点击按钮时,按钮附属层显示时变隐藏,反之亦然; 3、如果一个页面上有两个以上这种效果,层会有互斥效果; <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default5.aspx.cs" Inherits="Default5" %> <!DOCTYPE html PUBLIC "-//W3C/
Porschev
2018/01/16
1.4K0
HTML5(九)——超强的 SVG 动画
SVG 动画有很多种实现方法,也有很大SVG动画库,现在我们就来介绍 svg动画实现方法都有哪些?
呆呆
2021/11/30
2.5K0
程序员Web面试之jQuery
又到了一年一度的毕业季了,青春散场,却等待下一场开幕。 在求职大军中,IT行业的程序员、码农是工科类大学生的热门选择之一, 尤其是近几年Web的如火如荼,更是吸引了成千上万的程序员投身其中追求自己的梦
葡萄城控件
2018/01/10
2.6K0
程序员Web面试之jQuery
和弦推导逻辑简析与实现,以及Raphael库试用
根据文章内容,总结为:本文主要介绍了如何利用Raphael.js库绘制吉他弦的交互式图形,通过定义ChordShape和ScaleShape两个模块,完成了从和弦定义到图形生成的整个过程。同时,作者还提供了在浏览器中绘制吉他弦的代码示例,以及一个基于Node.js的服务器端渲染示例。
IMWeb前端团队
2017/12/29
1.6K0
和弦推导逻辑简析与实现,以及Raphael库试用
HTML5(九)——超强的 SVG 动画
SVG 动画有很多种实现方法,也有很大SVG动画库,现在我们就来介绍 svg动画实现方法都有哪些?
呆呆
2021/09/30
3.3K0
HTML5(九)——超强的 SVG 动画
SVG 动画有很多种实现方法,也有很大SVG动画库,现在我们就来介绍 svg动画实现方法都有哪些?
呆呆
2021/10/01
3.7K0
和弦推导逻辑简析与实现,以及Raphael库试用
诚然,吉他有上千个和弦。世界上最厉害的吉他大师,也无法一眼辨识出所有的和弦。 更多时候,我们熟记几个基本的和弦,然后通过一定的计算法则,去推导其他的和弦。因而推导的逻辑就非常重要。
IMWeb前端团队
2019/12/03
7480
和弦推导逻辑简析与实现,以及Raphael库试用
Wijmo 更优美的jQuery UI部件集:在安全站点使用Wijmo控件
通常我们总会遇到这样的问题,在安全站点(HTTPS)中使用C1Wijmo控件时,用户可能会收到脚本错误。 发生这种状况的是由于我们的CDN链接不是https链接。 解决HTTPS 的错误 为了解决上述
葡萄城控件
2018/01/10
7450
Wijmo 更优美的jQuery UI部件集:在安全站点使用Wijmo控件
Asp.Net开发等级星使用(Jquery Rating)
插件参数: rater第一个参数是AJAX提交的URL rater第二个参数 maxvalue:最大星数 curvalue:默认选择多少颗星 title:鼠标放在星上的提示 enable:可设置true or false,控件是否可用 rater的第三个参数回调函数 aspx页代码: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default"%> <!DOCTYPE html P
Porschev
2018/01/16
7710
Asp.Net开发等级星使用(Jquery Rating)
DjangoBlog|12 博客文章删除功能(优化版)
大家好,我是老表,这个系列将会更新我编写,项目的学习笔记,也是后面更新的一个重点,希望个人博客页面可以早点和大家见面~欢迎大家点赞、留言支持。
老表
2021/12/27
7910
DjangoBlog|12 博客文章删除功能(优化版)
前台JS(Jquery)调用后台方法 无刷新级联菜单示例
前台用AJAX直接调用后台方法,老有人发帖提问,没事做个示例 CasMenu.aspx页面: <%@ Page Language="C#" AutoEventWireup="true" CodeFile="CasMenu.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio
Porschev
2018/01/16
4.4K0
Using ASP.NET and jQuery to Pass Multiple Values from a GridView to Another Page
Using ASP.NET and jQuery to Pass Multiple Values from a GridView to Another Page In one of our previous article Pass Multiple Values from a GridView to Another Page using ASP.NET, we had seen how to select a GridView row and pass multiple values of the se
阿新
2018/04/12
1K0
Jquery 事件冒泡
什么是JS事件冒泡?: 在一个对象上触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,直至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层次的最顶层,即document对象(有些浏览器是window)。 (摘自网络) 如何来阻止Jquery事件冒泡? 通过一个小例子来解释 <%@ Page Language="C#" AutoEventW
Porschev
2018/01/16
2.9K0
Asp.net利用JQuery弹出层加载数据
最近看QQ空间里面的投票功能很使用。点击一个链接就弹出一个层,然后再加载一些投票信息,旁边的区域变成灰色不可用状态。其实这不算什么高深的技术,只要在ASP.NET中利用JQuery结合一般处理程序ASHX即可搞定了。
SAP梦心
2022/05/10
2.8K0
Asp.net利用JQuery弹出层加载数据
Wijmo 更优美的jQuery UI部件集:复合图表(CompositeChart)
Wijmo的CompositeChart控件允许您使用一个Chart来分析和展现复杂的数据。相同的数据可以使用不同的可视化效果,不同的图表类型展现在一个图表内,使得用户可以从不同的角度,了解分析这组数
葡萄城控件
2018/01/10
1.2K0
Wijmo 更优美的jQuery UI部件集:复合图表(CompositeChart)
用于 Windows8 的 Wijmo Charts 图表控件
随着Windows 8 Developer Preview 和 Visual Studio 11 Preview的发布, 大家对Metro-style的关注也逐步升温。最大的改变就是我们可以用HTML、JavaScript以及CSS进行Windows 应用程序的开发了。这应该是所有的Web Developer的福利了。 众所周知,Wijmo 是一套JavaScript UI 类库。我打算试着把它放到Windows 8里,准确的说,我尝试利用Wijmo的Charts实现一个Windows 8下的Metro U
葡萄城控件
2018/01/10
2.8K0
用于 Windows8 的 Wijmo Charts 图表控件
常用js,css文件统一加载方法,并在加载之后调用回调函数
为了方便资源管理和提升工作效率,常用的js和css文件的加载应该放在一个统一文件里面完成,也方便后续的资源维护。所以我用js写了以下方法,存放在“sourceController.js”文件内。 /** * Created by MingChen on 2016/11/3. */ function sourceController() { this.root = ""; this.callfunc = null; // 回调函数 this.css = []; thi
就只是小茗
2018/03/07
3.6K0
使用Raphael绘制流程图,自绘动态箭头,可拖动,有双击事件,纯前端,兼容各种浏览器
官方宣称兼容各种主流浏览器,据笔者测试在IE6下尚有一些问题(不过这些与本文无关)
liulun
2022/05/09
1K0
使用Raphael绘制流程图,自绘动态箭头,可拖动,有双击事件,纯前端,兼容各种浏览器
.NET魔法堂:工程构建基石->MSBuild
一、前言                               MSBuild是一个既熟悉又陌生的名字,Visual Studio的项目加载和构建均通过MSBuild来实现。VS中右键打开项目菜
^_^肥仔John
2018/01/18
2K0
.NET魔法堂:工程构建基石->MSBuild

相似问题

Wordpress图像未正确裁剪

40

本地WordPress安装不会裁剪图像

10

Wordpress 3.3.1没有裁剪功能图像

20

禁用响应图像大小裁剪

10

Wordpress切割图像大小

10
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文