Jak napisać „NULL” dla pustych pól podczas eksportowania pliku CSV z Excel 2007? Czy można to zrobić?
Jak napisać „NULL” dla pustych pól podczas eksportowania pliku CSV z Excel 2007? Czy można to zrobić?
Odpowiedzi:
Podczas eksportowania myślę, że może to nie być możliwe.
Możesz jednak spróbować w ten sposób przed zapisaniem lub po zapisaniu
1. Click F5
2. Click Special
3. Select Blanks
4. Click OK
5. Type NULL
6. Press CTRL + Enter
LUB
Z makro, kod VB:
Sheet1.UsedRange.SpecialCells(xlCellTypeBlanks)="NULL"
Otwórz plik CSV w edytorze tekstu, takim jak Notatnik, i znajdź / zamień wszystko ,,
=> ,NULL,
. Nie ma go w programie Excel, ale nadal będzie działać.
Wiem, że to działa w nowszym programie Excel; nie jestem pewien co do starszej wersji.
A1
; następnie naciśnij klawisz Shift i kliknij najbardziej prawy dolny rógNULL
Powinno to zastąpić wszystkie nici „NULL” w wybranych komórkach.
Krótka odpowiedź: nic nie robisz.
Nie ma różnicy między komórką Excela z pustym ciągiem lub komórką bez wartości (null) do celów eksportowania CSV. Pola w plikach CSV w rzeczywistości nie mają typów danych. W obu przypadkach otrzymasz puste pole w pliku CSV. Przykład:
Wygeneruje plik CSV, który zawiera:
12,,54
Nic między dwoma ogranicznikami (przecinkami) nie oznacza pustego lub pustego. Sposób postępowania z pustą wartością zależy od oprogramowania, które odczytuje plik CSV.
Nie znam Excela, ale ten skrypt w Pythonie to zrobi
import csv,sys
fin = open(sys.argv[1],'rb')
fout = open(sys.argv[2],'wb')
reader = csv.reader(fin, delimiter=',', quotechar='"')
writer = csv.writer(fout, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL)
for row in reader:
new = []
for s in row:
if s=='':
new.append('null')
else:
new.append(s)
writer.writerow(new)
fin.close()
fout.close()