büyük bir veri dosyası içerisinden herhangi bir satırı dictionary yapmam yapmam gerekiyor bunun için herhangi bir komut var mı yoksa ben kendim seçtiğim bi satırı dictionary olarak mı tanımlayacağım ?
Dosya formatı nedir? Dosya boyutu ne kadar?
dict
verisine dönüştürülecek satırlar dict
yapısına sahip mi?
Yani şu yapıya benziyorlar mı:
{ key1: value1 }
Veya nasıl görünüyorlar?
Sırf bu iş için bir ‘komut’ yok, zaten programlamanın mantığı bu değil.
Zaten istediğiniz bu değil mi?
Bir satırı sözlük yapmak ne demek? Örnek olarak bir kaç satır ve o satırların dönüşeceği sözlükleri verir misiniz?
Soruyu anlamak, problemi çözmekten daha kolay sanırım.
.csv
formatına göre dosyadaki ilk satır sütunları temsil eder. İlk satırı keys olarak, bunun dışındaki herhangi bir satırı da values olarak kullanalım, tamam. Ben forestfires.csv
dosyasını kullandım:
def main(filename):
with open(filename, encoding="utf-8") as file:
x = file.readlines()
y = list(map(lambda x: str(x.strip()).split(','), x))
result = {}
for k,v in zip(y[0], y[6]): # 7. Satır
result[k] = v
return result
if __name__ == "__main__":
print(main("forestfires.csv"))
Bu ne demek? Kullanıcı tarafından girilen key ve value değerlerini mevcut dict
üzerindeki key ve value’lar ile replace mi edelim?
kısaca
import pandas as pd
data = pd.read_csv ("dosya konumu/forestfires.csv")
df = pd.DataFrame(data, columns= ["day"])
sd = df.to_dict('list')
#buraya kadar "day" columnu dicte çevirdik.
#burada da dicte yeni key ve value ekledik
yeni_key="sayılar"
yeni_value=[1,2,3,4,5,6]
sd[yeni_key]=yeni_value
print(sd)