将加密的 csv 导入 Python 3

2024-02-14

因此,我计划使用 Jupyter Notebook (Python 3) 进行一些数据分析,出于协作原因,我想将数据存储在 github 存储库上,但数据集很敏感。

因此,我想将数据(当前为 .csv)作为加密文件存储在存储库上,然后在运行时解密(我猜有密码提示)。

做到这一点的最佳方法是什么?


最后,我使用了 python 3.6 和简单密码 https://pypi.python.org/pypi/simple-crypt加密文件然后上传。

I think这是我用来加密文件的代码:

f = open('file.csv','r').read()
ciphertext = encrypt('USERPASSWORD',f.encode('utf8')) #this .encode('utf8') is the bit im unsure about
e = open('file.enc','wb') # file.enc doesn't need to exist, python will create it
e.write(ciphertext)
e.close

这是我用来在运行时解密的代码,我运行getpass("password: ")作为参数,这样我就不必存储password内存中的变量

from io import StringIO
import pandas as pd
from simplecrypt import encrypt, decrypt
from getpass import getpass

# opens the file
f = open('file.enc','rb').read()

print('Please enter the password and press the enter key \n Decryption may take some time')

# Decrypts the data, requires a user-input password
CSVplaintext = decrypt(getpass("password: "), f).decode('utf8')
print('Data have been Decrypted')

#create a temp csv-like file to pass to pandas.read_csv()
DATA=StringIO(CSVplaintext)

# Makes a panda dataframe with the data
df = pd.read_csv(DATA)

请注意,Python 2.7 中的 UTF-8 编码行为有所不同,因此代码会略有不同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将加密的 csv 导入 Python 3 的相关文章

随机推荐

  • Knockoutjs 嵌套 observableArrays

    我在淘汰嵌套可观察数组方面遇到一些麻烦 我的数据如下所示 var myData Id 123 Name string here Categories Id 12 Name Category Name Products Id 1 Name P
  • 在图像下方显示文本

    我有一个带有超链接的图像 并且想在图像下方显示文本 编辑 我的输出应该像在记分卡下一样 我需要看到一张图像 谷歌 及其下方的文本 而在仪表板下 我需要看到两张图像 亚马逊 微软 及其下方的文本 下图是我所期待的 看图片 https i st
  • 覆盖没有默认值的 CSS 属性

    如果 CSS 中的属性没有默认值 是否可以覆盖该属性 例如 假设您的主样式表定义了特定元素的边框 element border 1px solid 000 如果您想禁用辅助样式表的边框 您可以这样做 element border none
  • WordPress图片上传使用ajax?

    我正在 WordPress 中制作前端分析器 我想从前端上传用户照片 我的整个个人资料都在 WordPress ajax 上 我只是想将照片上传到wp content uploads 但从前面使用ajax 我想要两件事 1 媒体挂钩 2 通
  • Spring Security中WebExpressionVoter和AuthenticatedVoter的区别

    Spring Security中的WebExpressionVoter和AuthenticatedVoter有什么区别 我所知道的是 AuthenticatedVoter 将搜索字符串 IS AUTHENTICATED FULLY IS A
  • 键入:从有效值列表动态创建文字别名

    我有一个函数验证其参数以仅接受给定的有效选项列表中的值 在打字方面 我使用Literal输入别名 如下所示 from typing import Literal VALID ARGUMENTS foo bar Argument Litera
  • C 猜数字游戏,使用 isdigit() 验证

    我正在研究教科书上的一个挑战问题 我应该生成一个 1 10 之间的随机数 让用户猜测 并使用 isdigit 验证他们的响应 我 大部分 让程序与下面的代码一起工作 我遇到的主要问题是 使用 isdigit 需要将输入存储为字符 然后我必须
  • 在处理给定的数据集时,如何为 zlib 'setDictionary' 找到一个好的/最佳的字典?

    我有一组 大量 类似的数据文件 该集合正在不断增长 单个文件大小约为10K 每个文件必须单独压缩 压缩是通过 zlib 库完成的 该库由java util zip Deflater班级 当使用以下方式将字典传递给 Deflate 算法时se
  • ElasticSearch 是用于自动完成\提前输入的 edgeNGram,我的 search_analyzer 是否被忽略

    我有三个带有 userName 字段的文档 布里安迪利 布里昂布尔 布里安格里芬 当我搜索 brian 时 我会按预期返回所有三个 但是当我搜索 briandilley 时 我仍然会返回所有三个 分析 API 告诉我它在我的搜索字符串上使用
  • 随着窗口大小的调整而向上移动图像或 Div?

    我的 html 中有一个带有 stretch 类的图像 目前 使用 css 该图像的大小会随着窗口大小的调整而调整为屏幕宽度的 100 我还希望它在调整窗口大小时向上移动 我假设这可以用 jQuery 来完成 但我不太确定 基本上 顶部 C
  • 如何预选struts html:radio按钮

    如何预选struts 1 html radio按钮 谢谢 玛丽亚 你应该有自己的价值Form保存单选按钮数据的对象 您需要将其预先填写在您的Form在转发到 JSP 之前 或者默认在Form的构造函数 如果它始终默认为该值 动作 java
  • Google 地图 javascript API 中的“我的位置”

    有没有办法使用存在于上的 我的位置 按钮谷歌地图 http maps google com 在你自己的 webbapplication 中使用 javascript api 吗 我在这里阅读了有关添加控件的内容Google 地图 Javas
  • 使用引用 MySQL 中相同表的子查询的 SQL UPDATE

    我正在尝试使用 UPDATE 更新表中一堆行中的列值 问题是我需要使用子查询来导出该列的值 并且它依赖于同一个表 这是查询 UPDATE user account student SET student student education
  • 似乎无法解析 KeyedByTypeCollection?

    我正在使用 NET 可移植来创建一个库 并且在尝试创建 KeyedByTypeCollection 的实例时遇到了一些问题 我检查了我的参考资料 NET Portable Subset System Collections Generic
  • React Native - SQLite 找不到预填充的数据库文件

    我正在尝试使用https github com andpor react native sqlite storage https github com andpor react native sqlite storage对于 SQLite
  • 我们如何在没有第三个变量和算术运算符的情况下交换两个数字?

    我们如何在没有第三个变量和算术运算符的情况下交换两个数字 XOR算不算算术运算符 如果没有 那么 X X XOR Y Y X XOR Y X X XOR Y 将此伪代码转换为可编译的 Java 代码作为练习留给读者 关于 java 标签
  • docker-compose如何引用其他目录中的文件

    有这个 dockerfile FROM python 3 8 3 alpine ENV MICRO SERVICE home app microservice RUN addgroup S APP USER adduser S APP US
  • CordovaWebView 与 android 中的 onBackPressed 方法混淆

    正如标题所说CordovaWebView and onBackPressed在 android 中组合起来会产生奇怪的结果 我有混合应用程序 我的主要活动有DrawerLayout and CordovaWebView 我的 onBackP
  • android ndk数据保存/加载

    我正在致力于将 PC OpenGL 应用程序移植到 Android 上 我选择使用 NDK android native app glue 框架 据我了解 它允许我继续使用 C 甚至不编写任何 JAVA 代码行 听起来很有希望 对我来说第一
  • 将加密的 csv 导入 Python 3

    因此 我计划使用 Jupyter Notebook Python 3 进行一些数据分析 出于协作原因 我想将数据存储在 github 存储库上 但数据集很敏感 因此 我想将数据 当前为 csv 作为加密文件存储在存储库上 然后在运行时解密