Commons:Convert tables and charts to wiki code or image files

From Wikimedia Commons, the free media repository
Jump to: navigation, search

Note. Commons: ('commons' followed by a colon) is a namespace for internal Commons work, and for resource pages on the Commons. See: {{resources}} and Category:Commons resources. One can search the Commons namespace via the advanced tab at Special:Search.

Here are some tools, resources, tips, and instructions for converting tables and charts to wiki code or image files. Most of the tools and resources are free. For more tools see Commons:Create charts and graphs online.

Some starting points[edit]

HTML to wiki code[edit]

Convert HTML (from web pages) to wiki code.

Online tools[edit]

  • HTML to Wiki Converter. Recommended for tables. "This is a slightly altered mirror of a script by Borislav Manolov." Hosted at Wikimedia Tool Labs on Magnus' tools. See User:Magnus Manske.
  • tab2wiki. Converts tables (tab-delimited, e.g. copied from Excel) to Wikitext tables. Hosted at Wikimedia Tool Labs on Magnus' tools.

Conversion examples[edit]

List of countries by incarceration rate[edit]

See the long table at en:List of countries by incarceration rate. It has over 200 rows. It is too difficult to maintain the table in highest to lowest order. That order can change with a single country update by any random editor. Plus one gets highest to lowest order by clicking the rate header. Alphabetical order is easy to maintain, because it is not affected by multiple small changes in the stats. To add row numbering see en:Help sorting.

Source: Highest to Lowest. World Prison Brief. International Centre for Prison Studies. Use dropdown menu to choose lists of countries by region, or the whole world. Use menu to select highest-to-lowest lists of prison population totals, prison population rates, percentage of pre-trial detainees / remand prisoners, percentage of female prisoners, percentage of foreign prisoners, and occupancy rate. Column headings in tables can be clicked to reorder columns lowest to highest, or alphabetically.

Use the menus to create a whole world list of prison population rates. Then click on the country column to put it in alphabetical order. Then copy and paste it into an online HTML WYSIWYG editor such as this one:

Click inside the editing area. To paste in the table use the edit menu of your browser, and then click "paste". After pasting in the table remove the rank column. To do this click anywhere in the rank column. Then click on the toolbar button that says (tooltip) "remove column". Then go into source mode to get the HTML. The table HTML starts with <table and ends with </table>.

There are many free HTML editors that can remove table columns, and do other table editing. For example; KompoZer. Place cursor in column heading. Then; table menu, delete column. You can also select all, right click, and "remove all text styles".

Copy only the table HTML, and paste it into the "HTML markup" form of the online HTML to Wiki Converter hosted by Magnus Manske. It is here. Click "convert" at the bottom of the converter page. It converts the table HTML to wiki code (wikitext). Paste it into a sandbox or one of your user pages (or subpages) to see what it looks like as a MediaWiki table.

The wikitext needs to be cleaned up. To do so quickly, copy the wikitext into a blank page of a good free text editor such as NoteTab Light. Save this as a text file. Remove the CSS styling at the top of the table wikitext. It is unnecessary. Then use the text editor's find-and-replace tool to remove all the classes. Replace double spaces with single spaces. Repeat until no double spaces remain. Fix any text laddering. Some of it can be done with find-and-replace. For example; replace <a ^p with <a. Save the text file.

Add column header text as necessary. Test in one of your user sandboxes as necessary to get things working right. The easiest way is to remove all the header wikitext and styling; and then replace it with the header wikitext at en:List of countries by incarceration rate. For more info see en:Help:Sorting, meta:Help:Table, mw:Help:Tables, and en:Help:Tables.

Country (or dependent territory) Prisoners per
100,000
population
{| class="sortable wikitable" border=1 
! Country (or dependent territory)
! data-sort-type="number" |Prisoners per <br>100,000 <br>population
|-

Note: "c." (circa) indicates "approximately." It should be put after the number, or numerical sorting of the rate column will not work, even with data-sort-type="number" in the column header. It is no longer necessary to put "c" in a separate column though. It is now possible to force the numerical sort order of a column by adding data-sort-type="number" to the column header. See: en:Help:Sorting. After moving "c" save again. Keep a separate copy of this. It may be needed for the country linking option explained in the shaded box farther down.

Next, click the replace command from the search menu of NoteTab. It pulls up the find-and-replace form. It can be used to quickly find and remove any remaining HTML. To add country linking and flag icons go directly to the shaded box farther down, and skip this section.

First replace </a> with nothing.

Then remove the rest of the HTML used for the country links. Put a checkmark in the regular expression checkbox, and then remove everything between HTML tag brackets: <>

To do that paste this regular expression in the "find what" line:

\<.*?>

In the "replace with" line put this:

style="text-align:left" |

Click "replace all." This instantly removes nearly all HTML code. It replaces it with styling that aligns the country names to the left. The names are easier to read that way.

Adding country links and flags[edit]
Alternatively, you can add country linking and flag icons. To do so replace </a> with template end brackets: }}

Then replace the remaining HTML using the regular expression method. Put a checkmark in the regular expression checkbox, and then remove and replace everything between HTML tag brackets <>

To do so replace
\<.*?>
with this:
style="text-align:left" |{{flagcountry|

Those 2 changes should make all the country names into wikilinks, and adds flag icons in front of them. It also aligns the country text to the left. For example; see en:User:Timeshifter/Sandbox42. In some country lists created this way some of the country links may have to be created manually. This is because there is a need to create redirects to the country names used for these links. Fortunately, nearly all the redirects have been created for this country list. For the combined UK number for England and Wales add this manually to keep both flags:

{{flagicon|England}} & {{flagicon|Wales}} [[England and Wales]]

Also add this for Sint Maarten:

{{flagcountry|Sint Maarten}} ([[Netherlands]])

For more info see: en:Wikipedia:WikiProject Flag Template, en:Category:Country data templates and en:Category:Country data redirects. Country links and flag icons are not absolutely necessary in country lists. Timely updating of the list is more important. If you want flags and country links, and you want to be able to rapidly update a list you may need to create some redirects. To do so search here for the templates to redirect to. Add the country or territory name to the search.

Do some additional manual cleaning, if necessary, to get rid of the rest of the HTML. There shouldn't be a need to do so for en:List of countries by incarceration rate.

A column for notes (if necessary) is instantly added by doing a regular find-and-replace. Replace

|-
with
|^p|-
  • ^p is the NoteTab code for line breaks.
  • |- is the wikitext for a table row.
  • | is the wikitext for a table cell. See meta:Help:Table.

For consistency use the same reference for all the countries and territories possible. That reference is placed above the table. If rates for additional countries or territories are found they can be entered in the table, and info about the sources can be put in the notes section below the table.

Do not put references or long notes in the table. They will break the alignment of the row numbering. See en:Help:Sorting. Point to the notes section below the table.

PDF to image files[edit]

See: Commons:PDF to image files

PDF to HTML, wikitext[edit]

Convert PDF charts and graphs to wikitext, or to HTML.

Some PDF charts can be converted to HTML charts. Copying and pasting some PDF charts produces comma-separated values (CSV) when pasted into some freeware text editors such as Notetab Light. See the next section for tools to convert CSV data into HTML charts and wikitext charts.

Sometimes you can paste a PDF chart into a Kompozer page. After doing so, select the chart text on the Kompozer page. Then click "create table from selection" in the table menu. Choose between commas or spaces (depending on what was used) to separate the columns. Save the page as an HTML web page. Then use one of the HTML to wiki converters to convert the HTML chart to wikitext.

PDF tools[edit]

Some of the previous sections refer to PDF files. Wikipedia has a comprehensive list of PDF software. Much of it is free and open source.

CNET has a category: PDF Software Downloads for Windows. Much of it is free, or free to try. Click "free" link in the left sidebar for freeware. Initial sort is by downloads last week. Recent popularity is usually a good comparative guide to ease of use.

Appropedia has notes on porting PDF files to MediaWiki.

For tables and charts, converting PDF to SVG is usually the optimal choice if you have the skills and tools to do so. Two programs that can do this are:

Convert wiki tables to Excel[edit]

Maybe you need to work on some tables, and prefer to work in Excel. See:

Convert Excel to CSV[edit]

Convert xls, xlsx, etc. to CSV. CSV files create clean tables since CSV contains only values, headers, rows, and columns. No other formatting. So they are great for converting to clean wikitext tables.

Online tools[edit]

Convert CSV, DSV, or Excel to HTML or wikitext[edit]

Convert Excel, comma-separated values (CSV), tab-separated values, delimiter-separated values (DSV), etc. to table wiki code.

Online tools[edit]

Microsoft Word to wiki code[edit]

Microsoft Word converters. See:

OpenOffice.org to wiki code[edit]

OpenOffice can export to wiki code. Install first the Sun Wiki Publisher extension. Next make your table and choose to Export to MediaWiki (.txt).

Print screen, and then edit chart image[edit]

The charts can be converted to images by using the "Print Screen" key on a keyboard. Image editors can then be used to capture and crop the chart found on the screenshot.

There are many free image editors. See:

For example; there is the free, popular, easy-to-use Irfanview. Use it to resize charts, remove watermarks, crop unused space from around the edges, and so on. Irfanview can also losslessly compress PNG images so as to use less kilobytes for the same image without any loss in image quality. Install the Irfanview plugin pack too. It installs instantly and includes even better PNG compression, PNGOUT, which is easy to use in Irfanview.

See also[edit]