Как изменить тип данных импортированной электронной таблицы в mysql?

0

Я импортировал электронную таблицу статистики правительства США в таблицу mysql с целью работы с учебником.

Однако, похоже, что правительство США изменило свое форматирование, так что некоторые числовые цифры завернуты в кавычки, превратив их в строки.

Например, это формат разделенных табуляцией данных, которые я должен загрузить:

CN010010 01 001 "Autauga County, AL" 2005 23831 23061 770 3.2

Однако это выглядит так: CN010010 01 001 "Autauga County, AL" 2005 "23,831" "23,061" 770 3,2

В результате два ключевых столбца данных (23831 и 23061 бит), которые я хочу импортировать как целые числа, регистрируются как 0 - предположительно, потому что они не соответствуют типу данных.

Какое лучшее решение для решения этой проблемы сейчас и в будущем?

Спасибо заранее.

  • 0
    LOL просто сделайте каждый столбец varchar (255);)
  • 0
    Я использовал TextPad и его функции регулярных выражений для решения подобных ситуаций.
Теги:
data-import

1 ответ

2
Лучший ответ

"Запятая" может вызвать проблемы. Используете ли вы данные загрузки данных для этого?

Предполагая определение таблицы:

CREATE TABLE `t` (
  `code` varchar(255) DEFAULT NULL,
  `state` char(2) DEFAULT NULL,
  `city` char(3) DEFAULT NULL,
  `name` varchar(255) DEFAULT NULL,
  `year` int(11) DEFAULT NULL,
  `pop1` int(11) DEFAULT NULL,
  `pop2` int(11) DEFAULT NULL,
  `diff` int(11) DEFAULT NULL,
  `ratio` float DEFAULT NULL
)

Ниже будет импортирован файл:

load data local infile "test.txt"
into table t
columns terminated by '\t'
optionally enclosed by '"'
(code, state, city, name, year, @var1, @var2, diff, ratio)
set pop1=replace(@var1,",", ""),
    pop2=replace(@var2, ",", "");

будет вставлять следующую строку:

 code: CN010010
state: 01
 city: 001
 name: Autauga County, AL
 year: 2005
 pop1: 23831
 pop2: 23061
 diff: 770
ratio: 3.2
  • 0
    Да, я использовал данные загрузки данных. Ваше решение звучит великолепно. Я попробую. Спасибо за уделенное время.
  • 0
    Пока это здорово ... я имею в виду полезно :)
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню