Git Product home page Git Product logo

tabletool's Introduction

Table Tool

A simple CSV editor for OS X.

Download on the Mac App Store.

The CSV format is a common used file format to store and exchange tabular data. Almost all spreadsheet and database apps (e.g. Excel and Numbers) support it. Unfortunately, not all CSV files are made equal. CSV files use different record delimiters (comma or semicolon), character encodings, decimal separators or quoting styles.

TableTool handles these issues automatically. It detects the specification of a CSV file for you and displays its contents in a table view. Using TableTool is the easy way to create, edit and convert CSV files.

Usage

Open Files: When opening a CSV file, Table Tool detects the format specifications (record delimiter, character encoding, etc.) automatically. You can also set the specifications manually.

Edit Files: Edit the contents of the cells, rows and columns of the document easily in a grid based user interface.

Convert Files: Convert an existing CSV file to a different format.

Credits

Table Tool was made by Sandro Peham, Andreas Aigner and Jakob Egger.

Mission / Project Scope / Contributing

TableTool seeks to be a great and simple CSV file editor and nothing more. Any formatting options or features like formulas will be out of scope for the project. Please post an issue if something is broken (bug) or you believe something is missing (feature request) and please be prepared to provide screenshots. We will endeavor to quickly decide if the thing is actually broken or if the new feature belongs in the project (help-wanted label). Once the help-wanted label is set, please help to work on implementation for that feature and we are happy to accept a pull request for it. We currently have more side projects than we can handle, so well documented issues and great pull requests will help move this project forward. We are happy to give commit access to consistent contributors.

Licence

Table Tool is distributed under the MIT Licence.

tabletool's People

Contributors

aigi avatar fulldecent avatar jakob avatar martinjankoehler avatar sandropeham avatar tkrajacic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

tabletool's Issues

Feature request: (automatic) refresh

I often work with csv's that get updated while I have them open in TableTool. Now I must close the window and reopen it to see the most recent version, which can be cumbersome if the location of the file is somewhere far away on a server. It would be nice to see the updates come through in the app automatically or through a Refresh button.

No Objectiv-C experience here, so I'm afraid I can't add this myself, but I think it would be a good idea.

Keep up the good work!

Allow for sorting?

This may go beyond the scope of TableTool, but it would be nice to have some way to sort columns, similar to RStudio's data viewer:

screen shot 2016-07-06 at 10 22 10

Choose header row

Some formats of CSV use a header with a few plain text lines at the top, before the line that defines the column names. I'd like to be able to choose which line is used as the "Header" in Table Tool. Perhaps by right-clicking a row.
Example attached.
report-411951434879-2017-02-01.csv.txt

Issue with linefeed characters in quoted column data

I have files with linefeed characters (0x0A) embedded in quoted column data. For example:

"abc","def?ghi","jkl"

where '?' is 0x0A.
The app seems to be parsing this OK (the following columns show up in the display), but only the text preceding the linefeed is shown on screen. Using the above example, it data is displayed as:

abc def jkl (missing 'ghi')

This may be a display problem as opposed to a parsing problem...

Feature request: simple sum for selected cells

This is one of the most common reasons I open CSV files that have numeric data in them - I want to see a sum for one of the columns. I know it's a slippery slope towards a full Excel/Numbers clone, but as long as it's just simple readonly stats on selected cells, it might be OK.

Would love to contribute, but have never done any OSX desktop development and don't even know what language this is done in. Is it Objective-C?

Default Decimal Formatting Loses Data on Save

I ran into an issue with a clients file where simply open it and hit save and the field 24,000 is truncated to 24.

Would setting the decimal format to . by default be more logical for most peoples use cases?

Example:

#original csv exported from excel
date,income
01/01/01,"24,000"

# after opening in TableTool and hitting save
date,income
"01/01/01","24"

Leading Zero Removed From 12+Long Text Fields

PROBLEM:
Given the following data saved as a UTF-8 CSV. It always imports the upc number with 11 chars and not the leading zero.

upc, sku
012345678901, ABCDEF

DESIRED BEHAVIOR:
Data is imported with the leading zero present.

Sample.xlsx

Loading data from url

Could it load data from given csv url? If not, we would like to enhance this feature, it's really useful for us.

Navigation with command key + arrow

It'd be great to navigate the table by cell instead of by row, but I suspect that's a big change. A smaller one would be to allow command-arrow to work as it normally does, sending the selection all the way to the top or the bottom of the table.

(If navigation were by cell instead of by row, it might make more sense for command-arrow to work more as it does in Excel and other spreadsheets, sending you to the last cell in the sequence which has contents or not (depending on the current cell).)

Unable to edit header

It does not seem possible to edit the header row. When you add a column, you cannot add or edit the column header (it remains blank).

Otherwise a nice neat tool that saves firing up Excel for simple edits.

Allow export/convert without header row ?

In the convert box, there is a checbox for "Header", but regardless of this being checked or not the output file has the header row and seems identical. It would be nice to be able to have this as an option in such a useful tool.

Searching

It would be cool if TableTool had some sort of basic search capability, even if it just searched the whole document (and didn't have options to limit searches by columns or whatever).

Leave format of opened files

Thank you for this nice piece of software.

Is it intended that Table Tool does not recognise the CSV format of the file (e. g. comma vs. semikolon seperated, quoted vs. non-quoted)? In my context I need to edit various differently formatted CSV files and it is essential that the format is never changed.

Thanks a lot!

Search & Replace?

Seems, S&R is not supported. Any chance it will be added? A S&R limited to one column would be nice as well.

Table Tool not closing

When I exit the tool by menu it still runs. Only force closing works in this situation. Happens every time.

Fit-to-size all columns

Currently we can double click in between columns and it will fit-to-size. It'd be wonderful if, when doing this with multiple columns selected, they all magically resized as appropriate.

Feature request: pasting data into the table

Using things like Microsoft Excel or Google Sheets you can usually paste table data from the clipboard. For example, you can copy the table in one Excel book and just paste it to another.

What do you think about having this feature in the TableTool? The use case for me would look like the following. I see some data in a table in Google Sheets and decide that I need to have some part of it in a csv file. Of course, I can export the data as csv from Google Sheets and then open the file with TableTool. However, usually it is more convenient and fast just to copy-and-paste the data, if you switching between the apps back and forth.

Thank you!

Make compatible with older OS X

Table Tool only uses a handful of modern APIs. With little effort, it should be possible to make it compatible with 10.9. A bit more effort would maybe even allow us to make it compatible with macOS 10.7.

Allow blank cells to be ,, instead of ,"",

A blank cell is currently interpreted as a string with 0 characters. This is why it is shown as ...,"",... in the generated CSV.

In some use-cases, a blank cell could mean null, which you would represent with ...,,...

It would be great if TableTool would default to the second or at least allow to configure the second as a default

Numeric only cells drop leading 0

This is a huge problem with most CSV editing tools, even Microsoft Excel. I often am dealing with large CSV files that have a number of entries consisting of numbers that must retain a leading 0 digit. I understand why it does this from a programming point of view, but it's very frustrating.

Add an option to ignore numeric values

An option to threat numeric values as just text would be helpful. It could be represented by offering a none option in the decimal section of the footer bar.
I came across this issue when I had to update a few line in a huge tab-separated file. The workflow should have been:

  • processed the few line in numbers
  • export to csv
  • open with TableTool
  • convert with appropriate settings

Since I wanted to compare the original and the new file with a diff tool I had to go back and replace the decimal point in all numbers to an arbitrary character so that TableTool didn't interpret them as numbers. Then make the conversion and replace the placeholder character back to the decimal point. Otherwise TableTool was truncating the decimal values (removing trailing zeroes) and the diff would highlight the whole file.

Table Tool preferences

Hello, I search a simple table editor to work with Touch Designer. When I open a table from Touch Designer in Table Tool, the Quote chooser is on "", and I need "none" to be able to save in Touch designer, how to open automatically Table Tool with "none" chosen?
Thank you, jacques

Resize window is slow

TEST CASE:

  1. Open this test file. It has about 1,000 cells
  2. Resize the window by dragging the bottom-right corner

Untitled 1.csv.zip

EXPECTED:

The refresh rate is unnoticeable.

ACTUAL:

The refresh rate is noticeable, I'm going to guess ~5 per second. This is particularly lower on retina displays when the window is near full screen. Refresh is faster when window is small.


This video clearly shows the difference between TableTool, TextEdit and Terminal/Vim. The latter is best in class.

https://www.youtube.com/watch?v=mx8UcRTy7E0

screen shot 2018-05-16 at 1 05 10 pm

Cannot insert in second row

I created a new file and I cannot insert anywhere except the first row. Is there something I am missing? I am using high sierra, and I have restarted my computer, restarted Table Tool.

Feature request: line numbers

Thank you for the great and very lightweight product!

It would be really useful if the app had line numbers in the table. Sometimes you refer to a line in a csv file by its number.

Escape key autocomplete

First, thanks for this awesome piece of software! So simple.

If i'm in a cell and want to exit the cell without changes, I expect that hitting esc would do that. However, if I do I get an autocomplete that changes the field, quite the opposite intention. Is there a preference to shut this off?

OS: OSX 10.11.6

screen shot 2017-03-13 at 5 35 36 pm

screen shot 2017-03-13 at 5 35 40 pm

Delete row, then select next row

Test case

  • Create 10 rows
  • Select row 5
  • Press DELETE ROW

Expected outcome

  • Row 5 is selected (formerly row 6)

Actual outcome

  • No row is selected

67

Discussion

  • The expected outcome matches the current behavior for deleting columns

col

Does not detect MacRoman encoding

Try to load this real-life CSV: https://dl.dropboxusercontent.com/u/20080302/sample.mer

It is MacRoman encoded, nas tab as separators, has a header row and contains two lines of data.
Table Tool is not able to detect encoding.
If I save it as UTF-8, encoding is detected, but separators are not detected, neither is header row
When specifying TAB manually, it loads part of the first line, but then displays a big yellow exclamation mark but with not further error

Feature request: Count the number of rows

I often want to count the number of rows in a CSV file, so that I can confirm with the person who produced the file that I've received the same number of rows that they exported from the database that originally holds the data.

Table header setting is lost after restoring an older version of the document

Hello Jakob,

Steps to reproduce:
(1) open a CSV with an autodetectable table header
(2) Assert: table header is detected
(3) append a table row without saving the document
(4) click main menu "File" > Restore to the opened version
(5) Assert: table header is detected (Defect: this assertion failed!)

I've committed a test suite which reproduces those steps automatically.

Best regards,
Martin

Publish this!

Hey Jakob,

This is a nice little tool, and there is really no other simple CSV viewer available for Mac. So unfortunately everybody just uses Excel as the de facto csv viewer.

I was able to download this source and build it. You should post a build on https://eggerapps.at for those that don't have XCode at the ready.

Cheers,
Luke

Copy Paste Text-with-a-line-break.

If you copy-and-paste some text with a line break into a cell, for example,

"foo
bar",

only "foo" will be displayed, but the entire text will be saved to the file, including the enter.

Allow font choice

Thanks for this. I usually use LibreOffice for csv work, but it's having trouble today with some upgrade issue so I was looking for something lightweight.

It would be great to be able to change the font, ideally through preferences, but even a simple +/- to increase or decrease the size would be welcome. It's also a little odd (to me) that it uses a non-monospaced font.

Add donate link

Please add a donate link on this project or add a monthly / annual optional subscription option in the app.

See Telephone.app as an example of how this works.
https://www.64characters.com/telephone

This provides you the motivation necessary to fix bugs and make new features. But does not give people the power do dictate what you do.

Try specifying a different separator or quote.

Version 1.2 won’t let me change quotes or anything else like it was possible in version 1.1.2.

The error message popup “Try specifying a different separator or quote.” is the only thing that appears and I only can click ok

Keyboard shortcut, change columns

TEST CASE:

  1. Open TableTool
  2. Click column B
  3. Press right on the keyboard

EXPECTED OUTCOME:

Column C is selected

ACTUAL OUTCOME:

System beep

screen shot 2018-05-16 at 12 33 32 pm


TEST CASE:

  1. Open TableTool
  2. Click column A
  3. Press shift-right on the keyboard
  4. Press shift-right on the keyboard
  5. Press shift-left on the keyboard

EXPECTED OUTCOME:

Column A and B are highlighted.

ACTUAL OUTCOME:

System beep

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.