Dostum Python ile uzun sürebilir xampp shell ile csvnin formatının nasıl olduğunu yazıp upload edebilirsin
zaten python ile import etmeyeceksin python ile csvyi .sql e dönüştürecek ve içeriğinde sql yapısına göre mysql olarak tablo oluşturacak ondan sonra xampp shellden import edeceksin sana yazacağım kodları metin dosyasına kaydet uzantısını örnek 1.py yap senin cs venin olduğu dizine at orda cmd ile çalıştır arayüz türkçe seni yönlenriri zaten
import os
import pandas as pd
from sqlalchemy import create_engine
from PyPDF2 import PdfFileReader
from docx import Document
import zipfile
import rarfile
def find_files(extension):
current_directory = os.getcwd()
files = [f for f in os.listdir(current_directory) if f.endswith(extension)]
return files
def extract_rar(rar_filepath, extract_to):
with rarfile.RarFile(rar_filepath) as rf:
rf.extractall(path=extract_to)
def extract_zip(zip_filepath, extract_to):
with zipfile.ZipFile(zip_filepath, 'r') as zf:
zf.extractall(path=extract_to)
def convert_file():
print("Dönüştürme işlemi başlıyor...")
# Kullanıcıdan dönüştürmek istediği dosya uzantısını al
input_extension = input("Dönüştürmek istediğiniz dosya uzantısını girin (örn: .csv, .xls, .xlsx, .txt, .json, .pdf, .docx, .sql, .rar, .zip): ")
# Belirtilen uzantıya sahip dosyaları bul
files = find_files(input_extension)
if not files:
print(f"Bu uzantıya sahip dosya bulunamadı: {input_extension}")
return
print("Bulunan dosyalar:")
for i, file in enumerate(files):
print(f"{i + 1}. {file}")
# Kullanıcıdan dönüştürülecek dosyayı seçmesini iste
file_index = int(input("Dönüştürmek istediğiniz dosyanın numarasını girin: ")) - 1
input_filename = files[file_index]
input_filepath = os.path.join(os.getcwd(), input_filename)
# Kullanıcıdan çıkış dosyasının adını ve uzantısını al
output_filename = input("Dönüştürülen dosyanın adını ve uzantısını girin (örn: output.json veya output.sql): ")
output_filepath = os.path.join(os.getcwd(), output_filename)
print(f"Çıkış dosyası: {output_filepath}")
df = None
content = None
# Dosyanın uzantısına göre işlem yap
if input_filename.endswith('.csv'):
print("CSV dosyası okunuyor...")
df = pd.read_csv(input_filepath)
elif input_filename.endswith('.xlsx'):
print("Excel dosyası okunuyor...")
df = pd.read_excel(input_filepath, engine='openpyxl')
elif input_filename.endswith('.xls'):
print("Excel dosyası okunuyor...")
df = pd.read_excel(input_filepath, engine='xlrd')
elif input_filename.endswith('.txt'):
print("TXT dosyası okunuyor...")
with open(input_filepath, 'r', encoding='utf-8') as f:
content = f.read()
elif input_filename.endswith('.json'):
print("JSON dosyası okunuyor...")
df = pd.read_json(input_filepath)
elif input_filename.endswith('.pdf'):
print("PDF dosyası okunuyor...")
with open(input_filepath, 'rb') as f:
reader = PdfFileReader(f)
content = ''.join([reader.getPage(i).extract_text() for i in range(reader.numPages)])
elif input_filename.endswith('.docx'):
print("Word dosyası okunuyor...")
doc = Document(input_filepath)
content = '\n'.join([p.text for p in doc.paragraphs])
elif input_filename.endswith('.sql'):
print("SQL dosyası okunuyor...")
with open(input_filepath, 'r', encoding='utf-8') as f:
content = f.read()
elif input_filename.endswith('.rar'):
print("RAR dosyası çıkartılıyor...")
extract_to = os.path.join(os.getcwd(), input_filename[:-4])
os.makedirs(extract_to, exist_ok=True)
extract_rar(input_filepath, extract_to)
print(f"RAR dosyası çıkartıldı: {extract_to}")
return
elif input_filename.endswith('.zip'):
print("ZIP dosyası çıkartılıyor...")
extract_to = os.path.join(os.getcwd(), input_filename[:-4])
os.makedirs(extract_to, exist_ok=True)
extract_zip(input_filepath, extract_to)
print(f"ZIP dosyası çıkartıldı: {extract_to}")
return
else:
print("Desteklenmeyen dosya formatı!")
return
print("Dosya başarıyla okundu.")
if output_filename.endswith('.json'):
print("JSON formatına dönüştürülüyor...")
if df is not None:
df.to_json(output_filepath, orient='records', lines=True)
else:
with open(output_filepath, 'w', encoding='utf-8') as f:
f.write(content)
print(f"JSON dosyası başarıyla kaydedildi: {output_filepath}")
elif output_filename.endswith('.sql'):
print("SQL formatına dönüştürülüyor...")
if df is not None:
engine = create_engine('sqlite://', echo=False)
df.to_sql('data', con=engine, if_exists='replace', index=False)
with open(output_filepath, 'w', encoding='utf-8') as f:
# SQL dosyasına tablo oluşturma ve veri ekleme komutları yazıyoruz
f.write("CREATE TABLE IF NOT EXISTS data (\n")
f.write(" url TEXT NOT NULL,\n")
f.write(" email TEXT,\n")
f.write(" parola TEXT,\n") # Türkçeleştirildi
f.write(" telefon TEXT\n") # Türkçeleştirildi
f.write(") ENGINE=MyISAM;\n\n")
for line in engine.raw_connection().iterdump():
# MyISAM uyumlu hale getirme
if 'CREATE TABLE' in line:
line = line.replace('CREATE TABLE', 'CREATE TABLE IF NOT EXISTS') + ' ENGINE=MyISAM;'
f.write('%s\n' % line)
# Veri ekleme komutları
for line in engine.raw_connection().iterdump():
if line.startswith('INSERT INTO'):
f.write(line + '\n')
elif content is not None:
# İçerikten SQL formatında MyISAM tablosu oluşturma
with open(output_filepath, 'w', encoding='utf-8') as f:
f.write("CREATE TABLE IF NOT EXISTS data (\n")
f.write(" url TEXT NOT NULL,\n")
f.write(" email TEXT,\n")
f.write(" parola TEXT,\n") # Türkçeleştirildi
f.write(" telefon TEXT\n") # Türkçeleştirildi
f.write(") ENGINE=MyISAM;\n\n")
for line in content.splitlines():
parts = line.split(':')
if len(parts) == 3:
f.write(f"INSERT INTO data (url, email, parola, telefon) VALUES ('{parts[0]}', '{parts[1]}', '{parts[2]}', NULL);\n")
else:
print("Veri içeriği bulunamadı!")
return
print(f"SQL dosyası başarıyla kaydedildi: {output_filepath}")
elif output_filename.endswith('.txt'):
print("TXT formatına dönüştürülüyor...")
if df is not None:
df.to_csv(output_filepath, index=False, sep='\t')
else:
with open(output_filepath, 'w', encoding='utf-8') as f:
f.write(content)
print(f"TXT dosyası başarıyla kaydedildi: {output_filepath}")
elif output_filename.endswith(('.xls', '.xlsx')):
print("Excel formatına dönüştürülüyor...")
if df is not None:
df.to_excel(output_filepath, index=False)
else:
print("Bu içerik türü Excel formatına dönüştürülemez!")
return
print(f"Excel dosyası başarıyla kaydedildi: {output_filepath}")
else:
print("Desteklenmeyen çıkış dosya formatı!")
return
print("Dönüştürme işlemi tamamlandı.")
if __name__ == "__main__":
convert_file()