python - 迭代 CSV 中的每一列并对每一列应用加密
问题描述
您好,我是 python 新手,我尝试将 pycrypt.caesar.encrypt(column_name,column_number) 函数应用于 CSV 中的每一列进行加密。我尝试过这样的事情
import pycrypt
import pandas as pd
df = pd.read_csv('test.csv')
print(df)
#col=df.columns
#print(col)
leng=range(len(df.columns))
print(leng)
j=0
for col in df.columns[0:,] and j in leng:
#print(col)
df['col']=df['col'].apply(lambda col: pycrypt.caesar.encrypt(col,j))
print(df)
它抛出错误
Traceback (most recent call last):
File "C:/Users/kalya/AppData/Local/Temp/Pseudo.py/main.py", line 12, in
<module>
for col in df.columns[0:,] and j in leng:
File "C:\Python38\lib\site-packages\pandas\core\indexes\base.py", line 2419,
in __nonzero__
raise ValueError(
ValueError: The truth value of a Index is ambiguous. Use a.empty, a.bool(),
a.item(), a.any() or a.all().
我究竟做错了什么?我想通过循环迭代地加密 csv 中的所有列。请指导我
解决方案
如果要遍历数据框中的列并对每一列应用不同的 ceasar 移位,可以这样做:
for index,column in enumerate(df):
df[column]=df[column].apply(lambda x: pycrypt.caesar.encrypt(x,index))
print(df)
推荐阅读
- html - 如何解决 w3 验证错误错误值?
- apache-spark - 无法执行数据帧 show() 或使用 sql:Zeppelin
- android - 无法使用 Android Retrofit 访问 JSON 中的数据
- c# - ASP.NET 核心 WebApi。SQL 视图的 OData 配置
- python - 如何以pythonic方式检查字典的某些变量和特定键是否为None?
- php - 在 PHP 中将 GMT 日期戳转换为我的时区
- django - 在运行 django 应用程序的同一 Windows 10 服务器上托管多个子域
- highcharts - 向 highcharts 添加标题
- node.js - 无法使用节点 js 使用 JWT 凭证获取 Google AI 预测结果
- performance - 是什么导致 ZeroMQ 延迟高的情况以及如何避免它们?