Mysql
 sql >> Baza danych >  >> RDS >> Mysql

usuń pustą linię wydrukowaną z wyjścia zapytania ula za pomocą pythona

Zwykle otwierasz plik wejściowy i zapisujesz niepuste linie do drugiego pliku:

with open('file.tsv') as infile, open('filtered_file.tsv', 'w') as outfile:
    for line in infile:
        if line.strip():
            outfile.write(line)

Jeśli chcesz filtrować plik w miejscu, możesz użyć FileInput z inplace opcja:

import fileinput
for line in fileinput.FileInput("infile", inplace=1):
    if line.strip():
        print line

jednak używa pliku pośredniego i może nie działać w sytuacjach małej ilości miejsca na dysku.

Aby filtrować plik w miejscu bez przydzielania dodatkowego miejsca na dysku, możesz spróbować czegoś takiego:

with open('file.tsv', 'r+') as infile:
    read_pos = write_pos = 0
    line = infile.readline()
    while line:
        read_pos += len(line)
        if line.strip():
            infile.seek(write_pos)
            infile.write(line)
            write_pos += len(line)
        infile.seek(read_pos)
        line = infile.readline()
    # update file size to the new, possibly reduced, size
    infile.truncate(write_pos)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Plik danych ładowania MySQL - akceleracja?

  2. Jak zaimportować pliki csv wybrane przez użytkownika do bazy danych?

  3. Grupuj według miesiąca i zwracaj 0, jeśli nie znaleziono danych

  4. Laravel 5.5 nie może renderować dynamicznych wykresów za pomocą pakietu wykresów ConsoleTV

  5. Zezwalaj użytkownikom tylko na określone informacje z bazy danych