12Gebrauchtwagen.de12Neuwagen.de

Unsere Partnerseiten:

Csv To Vcf ~repack~ -

def detect_delimiter(self, sample: str) -> str: """Detect CSV delimiter (comma, semicolon, or tab)""" common_delimiters = [',', ';', '\t', '|'] delimiter_counts = {} for delimiter in common_delimiters: if delimiter in sample: # Count occurrences in first line first_line = sample.split('\n')[0] delimiter_counts[delimiter] = first_line.count(delimiter) if delimiter_counts: return max(delimiter_counts, key=delimiter_counts.get) return ',' # Default to comma

def convert_to_string(self, input_file: str, encoding: Optional[str] = None) -> str: """Convert CSV to VCF string (without saving to file)""" contacts = self.read_csv(input_file, encoding) vcf_strings = [] for i, contact in enumerate(contacts, start=1): vcf_strings.append(self.create_vcf_card(contact, i)) return '\n'.join(vcf_strings) def main(): parser = argparse.ArgumentParser( description='Convert CSV contacts to VCF (vCard) format', formatter_class=argparse.RawDescriptionHelpFormatter, epilog=""" Examples: python csv_to_vcf.py contacts.csv python csv_to_vcf.py contacts.csv -o output.vcf python csv_to_vcf.py contacts.csv -e iso-8859-1 """ ) csv to vcf

def add_photo(self, contact: Dict, photo_path: str) -> str: """Add photo to vCard (base64 encoded)""" import base64 with open(photo_path, 'rb') as f: photo_data = base64.b64encode(f.read()).decode('utf-8') return f"PHOTO;ENCODING=b;TYPE=JPEG:photo_data" sample: str) -&gt

class CSVToVCFConverter: """Convert CSV contacts to VCF vCard format""" str: """Detect CSV delimiter (comma

def test_basic_conversion(self): csv_content = """Name,Phone,Email John Doe,+1234567890,john@test.com"""

def normalize_contact(self, row: Dict) -> Dict: """Normalize contact data""" contact = {} for key, value in row.items(): if value and isinstance(value, str): value = value.strip() if value: contact[key] = value return contact