Project

muzzy

0.0
No commit activity in last 3 years
No release in over 3 years
muzzy is tsv importer mysql client
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 1.15
~> 10.0
~> 3.8
 Project Readme

Muzzy

Muzzy is mysql fuzzy importer for lazy (mainly japanese) people.

mysqlimport option is complex, just want to query tsv, csv on mysql client.

TSV or CSV query program are exist(textql, q, and something like that), but I wanna use mysql client.

Installation

$ gem install muzzy

and run

$ muzzy_setup

Usage

$ muzzy [filename]

or

$ muzzy -f filename

Examples

Case 1, trying tsv file.

ok, Let's execute muzzy.

$ muzzy spec/fixtures/partial_surround_double_quote.tsv
$ mysql -u root muzzy
mysql> show create table partial_surround_double_quote;
+-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table                         | Create Table                                                                                                                                                                                                                                                                                                                                                                               |
+-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| partial_surround_double_quote | CREATE TABLE `partial_surround_double_quote` (
  `PassengerId` int(11) DEFAULT NULL,
  `Survived` int(11) DEFAULT NULL,
  `Pclass` int(11) DEFAULT NULL,
  `Name` text,
  `Sex` text,
  `Age` int(11) DEFAULT NULL,
  `SibSp` int(11) DEFAULT NULL,
  `Parch` int(11) DEFAULT NULL,
  `Ticket` text,
  `Fare` text,
  `Cabin` text,
  `Embarked` text
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+-------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)
mysql> select * from partial_surround_double_quote limit 3;
+-------------+----------+--------+-----------------------------------------------------+--------+------+-------+-------+------------------+---------+-------+----------+
| PassengerId | Survived | Pclass | Name                                                | Sex    | Age  | SibSp | Parch | Ticket           | Fare    | Cabin | Embarked |
+-------------+----------+--------+-----------------------------------------------------+--------+------+-------+-------+------------------+---------+-------+----------+
       |    1 |        0 |      3 | Braund	 Mr. Owen Harris                             | male   |   22 |     1 |     0 | A/5 21171        | 7.25    |       | S
       |    2 |        1 |      1 | Cumings	 Mrs. John Bradley (Florence Briggs Thayer) | female |   38 |     1 |     0 | PC 17599         | 71.2833 | C85   | C
       |    3 |        1 |      3 | Heikkinen	 Miss. Laina                              | female |   26 |     0 |     0 | STON/O2. 3101282 | 7.925   |       | S
+-------------+----------+--------+-----------------------------------------------------+--------+------+-------+-------+------------------+---------+-------+----------+
3 rows in set (0.00 sec)

Case 2, You have Japanese tsv file

You have users.tsv and content is bellow.

性別	年齢	地域	車所有	デジカメ所有	パソコン所有	職業
男	10代	関東	無	有	有	学生
女	20代	関西	有	無	有	会社員
男	30代	中部	無	有	無	自営業
男	40代	東北	有	無	有	無職
女	10代	関東	無	有	無	学生
男	20代	関西	無	無	有	会社員
男	30代	東北	有	有	有	自営業
男	40代	関西	無	無	無	自由業
男	50代	関東	有	有	有	自由業
女	60代	九州	無	無	無	公務員
女	10代	四国	無	有	有	学生
女	10代	北海道	有	無	有	アルバイト

Therefore, you want to query users gender is '男', you can do as below.

$ muzzy users.tsv
$ mysql -u root muzzy
mysql> show create table users;
+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Table  | Create Table                                                                                                                                                                                                 |
+--------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| users | CREATE TABLE `users` (
  `seibetsu` text,
  `nenrei` text,
  `chiiki` text,
  `kurumashoyuu` text,
  `dejikameshoyuu` text,
  `pasokonshoyuu` text,
  `shokugyou` text
) ENGINE=InnoDB DEFAULT CHARSET=utf8 |
+--------+--------------------------------------------
mysql> select * from sample where seibetsu  = '男';
+----------+--------+--------+--------------+----------------+---------------+-----------+
| seibetsu | nenrei | chiiki | kurumashoyuu | dejikameshoyuu | pasokonshoyuu | shokugyou |
+----------+--------+--------+--------------+----------------+---------------+-----------+
| 男       | 10代   | 関東   | 無           | 有             | 有            | 学生      |
| 男       | 30代   | 中部   | 無           | 有             | 無            | 自営業    |
| 男       | 40代   | 東北   | 有           | 無             | 有            | 無職      |
| 男       | 20代   | 関西   | 無           | 無             | 有            | 会社員    |
| 男       | 30代   | 東北   | 有           | 有             | 有            | 自営業    |
| 男       | 40代   | 関西   | 無           | 無             | 無            | 自由業    |
| 男       | 50代   | 関東   | 有           | 有             | 有            | 自由業    |
+----------+--------+--------+--------------+----------------+---------------+-----------+
7 rows in set (0.00 sec)

Thats, it.

Do you want to test now?

https://raw.githubusercontent.com/rebeccabilbro/titanic/master/data/train.csv

Dependency

muzzy uses kakasi for create table column name.

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/vimtaku/muzzy. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

see also https://github.com/vimtaku/muzzy/blob/master/LICENSE.txt

Code of Conduct

Everyone interacting in the Muzzy project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.