2016-04-15 1 views
0

Вот мой пример CSV файл:Как отделить пространство и точку с запятой в CSV-файлах импортировать в MS Access?

2000-01-10 19:59;0.000;m3/h;100.9;-0.0;100.9;m3;0.000;0.000;99;66 
2000-01-10 20:14;0.000;m3/h;100.9;-0.0;100.9;m3;0.000;0.000;99;66 
2000-01-10 20:29;0.000;m3/h;100.9;-0.0;100.9;m3;0.000;0.000;99;66 
2000-01-10 20:44;0.000;m3/h;100.9;-0.0;100.9;m3;0.000;0.000;99;66 
2000-01-10 20:59;0.000;m3/h;100.9;-0.0;100.9;m3;0.000;0.000;99;66 
2000-01-10 21:14;0.000;m3/h;100.9;-0.0;100.9;m3;0.000;0.000;99;66 

У меня есть проблема разделения даты и времени. В ограничении я могу выбрать только точку с запятой. Я могу выбрать только один.

Как я могу отделить их все?

+0

заменить пробелы точкой с запятой? – Arashsoft

+0

Как вы загружаете CSV? – Spidey

ответ

1

Это не разделитель.

Выбрать Разделитель до Отсутствует.

Сепаратор до ;

Затем импортируйте/свяжите как DateTime и разделите это (если вам действительно нужно).

0

Вы можете заменить первое место в каждой строке файла CSV точкой с запятой, используя небольшой командный файл, чтобы иметь дату и время в качестве отдельных значений полей, если это необходимо для базы данных перед импортом файла CSV.

@echo off 
setlocal 

rem Define CSV file to process which can be also passed as argument 
rem and the temporary file needed while processing the CSV file. 
if "%~1" == "" (
    set "CSV_File=C:\Temp\Test.csv" 
    set "TempFile=%TEMP%\Test.tmp" 
) else (
    set "CSV_File=%~1" 
    set "TempFile=%TEMP%\%~n1.tmp" 
) 

rem Check existence of CSV file to process and if really existing, 
rem write each line of CSV file to temporary file with replacing 
rem the first space by a semicolon. After having processed each 
rem line move the temporary file over the CSV file. 

if exist "%CSV_File%" (
    if exist "%TempFile%" del "%TempFile%" 
    for /F "usebackq eol=# tokens=1* delims= " %%A in ("%CSV_File%") do echo %%A;%%B>>"%TempFile%" 
    move /Y "%TempFile%" "%CSV_File%" 
) 

endlocal 

Для понимания используемых команд и как они работают, откройте окно командной строки, выполните там следующие команды, и читать полностью все справочные страницы отображаются для каждой команды очень тщательно.

  • call /? ... для объяснения %~1 и %~n1.
  • del /?
  • echo /?
  • endlocal /?
  • for /?
  • if /?
  • move /?
  • rem /?
  • set /?
  • setlocal /?

И статья Microsoft о Using command redirection operators может быть также интересно понять переназначение оператора >>, используемый в этом небольшом коде партии.

Смежные вопросы