Python 3.6 pomoc

0

Witam jako ze się uczę pythona potrzebuje pomocy. Jak napisać kod który wygeneruje od 00000000000 do 99999999999 dodając 1 i wyeksportuje do csv.

1

Input and Output <- W tej dokumentacji masz wszystko co potrzebujesz:

  • Zmienianie liczb na string
  • Dodawanie wiodących zer
  • Przykłady z pętlami
  • Zapis do pliku

Generowanie tylu liczb zajmie trochę czasu, co dokładnie chcesz osiągnąć?

0

Kolego atmal zależy mi żeby wygenerowało mi od 00000000000, 00000000001, 00000000002 itd aż do 99999999999 i żeby wyeksportować to do CSV
import csv

with open('names.csv', 'w', newline='') as csvfile:
fieldnames = ['first_name', 'last_name']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
jak możesz mi podpowiedzieć jak to połączyć wszystko

0
atmal napisał(a):

Input and Output <- W tej dokumentacji masz wszystko co potrzebujesz:

  • Zmienianie liczb na string
  • Dodawanie wiodących zer
  • Przykłady z pętlami
  • Zapis do pliku

Generowanie tylu liczb zajmie trochę czasu, co dokładnie chcesz osiągnąć?

Kolego atmal zależy mi żeby wygenerowało mi od 00000000000, 00000000001, 00000000002 itd aż do 99999999999 i żeby wyeksportować to do CSV
import csv

with open('names.csv', 'w', newline='') as csvfile:
fieldnames = ['first_name', 'last_name']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
jak możesz mi podpowiedzieć jak to połączyć wszystko

0

Jak potrzebujesz tylko plik tego typu:

0000,0001,0002,0003... i tak dalej (pominąłem wiodące zera)

To najprostszym (ale nie najlepszym) rozwiązaniem byłoby:

limit = 100000000000

with open("test.csv", "w") as file:
    for i in range(limit):
        file.write(str(i).zfill(11) + ', ')

Tylko że:

  • Wygenerowanie miliona takich liczb trwa ~0.45 sekundy
  • Plik z milionem liczb zajmuje 13MB na dysku
  • Wygenerowanie tylu liczb ile ty chcesz będzie trwało około 45 320 sekund (755 minut)
  • Plik wynosiłby ~1TB jeśli dobrze liczę

Pytałem co dokładnie chcesz zrobić bo być może źle patrzysz na ten problem.
Jeżeli masz zamiar zrobić jakąś bazę danych to taka zabawa jest bez sensu, lepiej użyć np. SQLite.

0
atmal napisał(a):

Jak potrzebujesz tylko plik tego typu:

0000,0001,0002,0003... i tak dalej (pominąłem wiodące zera)

To najprostszym (ale nie najlepszym) rozwiązaniem byłoby:

limit = 100000000000

with open("test.csv", "w") as file:
    for i in range(limit):
        file.write(str(i).zfill(11) + ', ')

Tylko że:

  • Wygenerowanie miliona takich liczb trwa ~0.45 sekundy
  • Plik z milionem liczb zajmuje 13MB na dysku
  • Wygenerowanie tylu liczb ile ty chcesz będzie trwało około 45 320 sekund (755 minut)
  • Plik wynosiłby ~1TB jeśli dobrze liczę

Pytałem co dokładnie chcesz zrobić bo być może źle patrzysz na ten problem.
Jeżeli masz zamiar zrobić jakąś bazę danych to taka zabawa jest bez sensu, lepiej użyć np. SQLite.

chciałbym wygenerować tak jak pisałem wyżej i zamienić na Md5

0
Button6 napisał(a):
atmal napisał(a):

Jak potrzebujesz tylko plik tego typu:

0000,0001,0002,0003... i tak dalej (pominąłem wiodące zera)

To najprostszym (ale nie najlepszym) rozwiązaniem byłoby:

limit = 100000000000

with open("test.csv", "w") as file:
    for i in range(limit):
        file.write(str(i).zfill(11) + ', ')

Tylko że:

  • Wygenerowanie miliona takich liczb trwa ~0.45 sekundy
  • Plik z milionem liczb zajmuje 13MB na dysku
  • Wygenerowanie tylu liczb ile ty chcesz będzie trwało około 45 320 sekund (755 minut)
  • Plik wynosiłby ~1TB jeśli dobrze liczę

Pytałem co dokładnie chcesz zrobić bo być może źle patrzysz na ten problem.
Jeżeli masz zamiar zrobić jakąś bazę danych to taka zabawa jest bez sensu, lepiej użyć np. SQLite.

chciałbym wygenerować tak jak pisałem wyżej i zamienić na Md5
i jeszcze jedno pytanie czy jest możliwość generowania w pythonie MD5

0

Chodzi o wygenerowanie sumy kontrolnej MD5?
Tutaj masz odpowiedź.

0
Button6 napisał(a):
Button6 napisał(a):
atmal napisał(a):

Jak potrzebujesz tylko plik tego typu:

0000,0001,0002,0003... i tak dalej (pominąłem wiodące zera)

To najprostszym (ale nie najlepszym) rozwiązaniem byłoby:

limit = 100000000000

with open("test.csv", "w") as file:
    for i in range(limit):
        file.write(str(i).zfill(11) + ', ')

Tylko że:

  • Wygenerowanie miliona takich liczb trwa ~0.45 sekundy
  • Plik z milionem liczb zajmuje 13MB na dysku
  • Wygenerowanie tylu liczb ile ty chcesz będzie trwało około 45 320 sekund (755 minut)
  • Plik wynosiłby ~1TB jeśli dobrze liczę

Pytałem co dokładnie chcesz zrobić bo być może źle patrzysz na ten problem.
Jeżeli masz zamiar zrobić jakąś bazę danych to taka zabawa jest bez sensu, lepiej użyć np. SQLite.

chciałbym wygenerować tak jak pisałem wyżej i zamienić na Md5
i jeszcze jedno pytanie czy jest możliwość generowania w pythonie MD5
a powiedz mi kolego czy ten kod co napisałeś to będzie generowało w wierszu czy w kolumnie ?

0

W wierszu, wszystkie liczby oddzielone przecinkami.

0
atmal napisał(a):

Chodzi o wygenerowanie sumy kontrolnej MD5?
Tutaj masz odpowiedź.

czyli z tego linku wygeneruję od 00000000000 do 99999999999 w md5 tak dobrze rozumiem? Sorki że zadaję takie pytania ale to są początki moje z pythonem a chciał bym poszerzyć swoją wiedzę z tym programem

0
atmal napisał(a):

W wierszu, wszystkie liczby oddzielone przecinkami.
a jak bym chciał zamienić na kolumny to jak dodam \n

0

Nie.
MD5 wygeneruje sumę kontrolną. Jest to przydatne gdy pobierasz jakiś plik z internetu i chcesz mieć pewność że plik który pobrałeś jest taki sam który został wrzucony na serwer.
MD5 nie da się odwrócić, taka jest idea funkcji haszujących.

Python to nie program a język programowania.

0
atmal napisał(a):

Nie.
MD5 wygeneruje sumę kontrolną. Jest to przydatne gdy pobierasz jakiś plik z internetu i chcesz mieć pewność że plik który pobrałeś jest taki sam który został wrzucony na serwer.
MD5 nie da się odwrócić, taka jest idea funkcji haszujących.

Python to nie program a język programowania.

dzięki kolego za pomoc a powiedz mi czy jak będę potrzebował pomocy z pythona czy mogę pisać do ciebie?

1

A czemu tylko do mnie?
Użyj forum to szybciej uzyskasz pomoc gdyby mnie nie było, z resztą po to to forum jest ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1