Как написать "NULL" для пустых полей при экспорте файла CSV из Excel 2007? Есть ли возможность сделать это?
5 ответов
Я думаю, что при экспорте это невозможно.
Но вы также можете попробовать этот способ перед сохранением или после сохранения
1. Click F5
2. Click Special
3. Select Blanks
4. Click OK
5. Type NULL
6. Press CTRL + Enter
ИЛИ ЖЕ
С макросом, VB код:
Sheet1.UsedRange.SpecialCells(xlCellTypeBlanks)="NULL"
Откройте файл CSV в текстовом редакторе, таком как Блокнот, и выполните поиск / замену всех ,,
=> ,NULL,
Это не в Excel, но все равно будет работать.
Я знаю, что это работает в более новом Excel; не уверен насчет старой версии.
- Выберите ячейку
A1
; затем нажмите Shift, чтобы выбрать самый нижний правый - Нажмите Ctrl+H
- В поле "Найти" оставьте поле пустым
- в поле "Заменить на" введите
NULL
Это должно заменить все ничто с 'NULL' в выбранных ячейках.
Краткий ответ: Вы ничего не делаете.
Нет никакой разницы между ячейкой Excel с пустой строкой или ячейкой без значения (null) для целей экспорта CSV. Поля в файлах CSV на самом деле не имеют типов данных. Таким образом, вы получите пустое поле в вашем CSV-файле в любом случае. Пример:
Будет генерировать CSV, который содержит:
12,,54
Ничто между двумя разделителями (запятыми) не означает пустое или нулевое. То, как обрабатывается пустое значение, зависит от программного обеспечения, которое читает файл CSV.
Я не знаю Excel, но этот скрипт Python сделает это
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()