Wpis z mikrobloga

Potrzebuję w pliku excel zhashować kolumny password i pesel. W pycharm taki kod wpisuję i po uruchomieniu wyrzuca jakieś errory i nic. Plik users.csv rozumiem, że ma być w tym folderze co projekt pycharmowy z plikiem python?
Help pls
Nie zajmuję się programowaniem więc proszę mieć to na uwadze.

import pandas as pd
import hashlib

# reading CSV input
df = pd.readcsv('users.csv')

# hashing
df['password'] = df['password'].apply(lambda x:
hashlib.sha256(x.encode('utf-8')).hexdigest())
df['pesel'] = df['pesel'].apply(lambda x:
hashlib.sha256(x.encode('utf-8')).hexdigest())

# writing the new CSV output
df.to
csv('users_hashed.csv', index=False)

#programowanie #python #pandas #datascience
  • 14
@Elkoss: Traceback (most recent call last):
File "C:/Users/kosda/PycharmProjects/BSINproject/bsin.py", line 8, in
df['password'] = df['password'].apply(lambda x:
File "C:\Users\kosda\anaconda3\envs\BSINproject\lib\site-packages\pandas\core\frame.py", line 3458, in _getitem
indexer = self.columns.get
loc(key)
File "C:\Users\kosda\anaconda3\envs\BSINproject\lib\site-packages\pandas\core\indexes\base.py", line 3363, in get_loc
raise KeyError(key) from err
KeyError: 'password'

Process finished with exit code 1
ah, juz wiem. zamien poczatek na:
df = pd.read_csv('users.csv',sep=';')
nie czyta ci osobno kolumn, tylko wszystko jako jeden ciag. Ustawiajac argument sep, zmieniasz znak na ktorym ma rozdzielac kolumny
@Elkoss: Traceback (most recent call last):
File "C:/Users/kosda/PycharmProjects/BSINproject/bsin.py", line 9, in
df['pesel'] = df['pesel'].apply(lambda x:
File "C:\Users\kosda\anaconda3\envs\BSINproject\lib\site-packages\pandas\core\series.py", line 4357, in apply
return SeriesApply(self, func, convertdtype, args, kwargs).apply()
File "C:\Users\kosda\anaconda3\envs\BSINproject\lib\site-packages\pandas\core\apply.py", line 1043, in apply
return self.apply
standard()
File "C:\Users\kosda\anaconda3\envs\BSINproject\lib\site-packages\pandas\core\apply.py", line 1101, in applystandard
convert=self.convert
dtype,
File "pandas_libs\lib.pyx", line 2859, in pandas.libs.lib.mapinfer
File "C:/Users/kosda/PycharmProjects/BSINproject/bsin.py", line 10, in
hashlib.sha256(x.encode('utf-8')).hexdigest())
AttributeError: 'int' object has no attribute 'encode'

Process finished with exit
@Elkoss: a ok jak skasowałem df['pesel'] = df['pesel'].apply(lambda x:
hashlib.sha256(x.encode('utf-8')).hexdigest())
oraz ten sep tak jak napisałeś, to zadziałało.
Tylko jak teraz połączyć żeby za jednym kodem password i pesel hashowało?