[New Plugin] CSV Lint
-
@Tanquen said in [New Plugin] CSV Lint:
My CSV has a large number of columns and different headers every few rows. It defaults to FixedLength but after changing to CSVDelimited it just adds the text “XML” at the top and nothing changes.
Thanks for mentioning your issue. It sounds like the plug-in can’t recognise this specific data file. I suspect the file includes many
<
or>
characters as well as many,
or;
characters or something like that. This can “confuse” the autodetect function so to speak, meaning it can’t determine which is the correct separator character, so it doesn’t interpret the data and columns correctly.Is it possible to send the data file to my e-mail address (see About dialog)? If it contains privacy sensitive data or is too large, then maybe edit the file and just include a few lines of data to reproduce this issue?
Btw someone metioned a similar issue so in a future update I want to add a where you can (optionally) manually specify the separator character.
In the mean time you can somehow manually construct the meta data, like below.
Format=CSVDelimited
ColNameHeader=False
Col1=Field1 Text Width 50
Col2=Field2 Text Width 50
Col3=Field3 Text Width 50
Col4=Field4 Text Width 50
etc.Or alternatively, first try to delete the rows (if possible) that are causing trouble, so keep only a few rows with representative data, and then click
Refresh from data
, and then apply that resulting metadata to the complete file with all the rows. -
@T-Switzer said in [New Plugin] CSV Lint:
any update planned to update CSV Lint to work with current version of notepad ++
Like @Lycan-Thrope mentioned, there is a new CSV Lint v0.4.5.2 which you can manually download from the github page. That version will be included automatically in the Plugin Admin in the upcoming Notepad++ v8.4.3.
It looks like the compatibility issues with the new Lexer v5 are solved now 🤞 and I want to wait and see before continuing and adding too many other features to the plug-in.
-
-
Is there a way not to change the background color? Notepad++'s default theme has white background so CSV Lint looks OK after syntax coloring. But I normally use Solarized theme (dark bg) and CSV Lint changes all the text to white background.
-
-
@Eric-Yang sorry for the late answer, I had missing this post.
You can go to the menu
Plugins -> CSV Lint -> Settings
there is a button “Colors” to select from 4 pre-defined colorsets for the column syntax highlighting, see color preview here.If you use a dark mode/dark background theme, then it’s best to select either
Dark mode (pastel)
orDark mode (neon)
. Btw you need to close and restart Notepad++ before the new colors are visible. -
With the Notepad++ update to v8.4.7 yesterday, the new Plugin Admin now also contains an update for CSVLint plug-in from v0.4.5.4 to v0.4.6.2. I hope the plugin will save everyone some time when working with csv files, let me know what you think.
It now also has a sort function and improved compatibility with Windows 11 unicode UTF8 setting. Also the default syntax highlighting now has 12 colors instead of 8, with a bit more pleasing colors imho.
See below for complete list of plugin updates and bugfixes since the last Notepad++ version:
v0.4.6
- Improved compatibility with Windows unicode UTF8 setting
- Sort data, new option to sort on column
- Split column, add options
pad character
andsearch and replace
- Split column, remove options
when contains
anddecode multiple value
- Default color sets now have 12 colors instead of 8 (less repeats) + optimal color contrast
- Settings dialog, color set preview icons
- Autodetect improved, skip empty lines + clear message when nothing detected
- Metadata for fixed width, also output absolute positions
v0.4.6.1
- Apply quotes bugfix, also values that contain CrLf character
- Sort data and split column, use quotes correctly
- Sort data and split column, also support fixed width
v0.4.6.2
- Detect fixed width, allow manual column positions
- Button to toggle syntax highlighting
- Allow user to change font in docked window textboxes
-
HI @Bas-de-Reuver,
Thank you for the plugin. The plugin is nice, but sometimes I want to switch to the original Notepad++ view for a .csv file. Is there an option to turn off the CSV Lint view? -
I have found out that switching the menu point “Language” - “CSVLint” to Language - “None (Normal Text)” is most probably the solution.
-
@datatraveller1 Yes you’re right , it’s the menu
Language > None (Normal Text)
to clear the syntax highlighting colors from a csv file.Btw in the latest version of the plug-in v0.4.6.2 there is also a button on the docked windows to toggle between CSV Lint colors or no syntax highlighting. It does the same thing as the
Language
menu items though. -
The latest version includes a PR which I’ve created exactly to target this issue:
PR: Added button to enable or disable language #42
Should be exactly what you are looking for in a very simple way. -
Hello guys i’m newbie here :( i have a csv data as below. Is there any way to align it to column like excel did?
"@ABC_INFORMATION" "ID1","ID2","ID3" "ip1","ip2",""
-
@le-dinhyen There is another plugin (CSVQuery) that displays the columns aligned, but this plugin is not suitable for editing. I would recommend a CSV editor for editing CSV files. (I could tell you good CSV editors, but they are not freeware).
BTW, your CSV file is not a valid CSV file. A CSV file must conform to RFC 4180 CSV rules (https://www.rfc-editor.org/rfc/rfc4180).
Each line must have the same number of fields, but your first line contains one field and the other three fields. -
@datatraveller1 Yes . my csv file format is specific for customer system. we used to open it by rainbow csv in visual studio. i’m just wondering if we have any function that can display the columns aligned and edit it in realtime. Thank you so much for reply
-
-
Hi
I just started with this plugin and have a problem …A CSV with 45 columns (650 characters long), semicolon : separator, 16 lines. The display in different colours is OK, but I want to “convert” it to a “space separated” file, like
Col1 Col2 Col3 1.2 4.5 John
So I select “Reformat / Column Separator: Fixed Width”. The result is that is removed the defined header and creates a file with no space between the columns, like
1.24.5John
What is the problem here, how to do it right?
Thanks
-
@Pierre-de-la-Verre ,
I was just messing with it myself to see what you were talking about, and the problem is that you need to read the help documentation. The fixed width puts it to the size of the fields, which means, there is no padding between the actual data, and the field boundaries as one runs into the next based on each columns defined width. I suspect if you want more space, you’ll need to make the fields larger than you really need them, so they’ll have some padding between the data in each field, and the size should also be larger than the header column names as well so those don’t run into one another.Here’s the help description for the Column Separator:
Column separator
Reformat the column separator, for example from comma separated , to semicolon separated ;. Any values that contain the new separator character will be put in quotes, for example "error; no read".
When converting to fixed width format, it will use the width of each column as set in the metadata. Integer or decimal values will be right aligned, any other datatypes are left aligned.
` -
yes, beside the deleting of the header line, which is strange for me, it does what it describes. But as a suggestion for improvement I add screenshots from the CSV-Format-feature in UltraEdit, which seem more flexible (keeping of the separator!) and better to me.
UE before
UE after
NPP before
NPP after
-
Is this an Excel support site??
-
-
I was mainly referring to where things seemed to be going with “Here’s the help description for the Column Separator”…
But OK, if this is helpful to CSV Lint plugin…
-
Hi,
I don’t know if this the best place to ask for features for the plugin?I need to work with CSV files that aren’t compliant with RFC 4180 CSV rules, and I can’t change their format. They have some rows of differing lengths, and some fields are encloses in quotes even though they don’t strictly have to be according to the standard. I’ve been searching for an editor that will allow me to move some fields, and delete some columns, WITHOUT changing the formatting of the CSV file. I don’t know that could be added as an extension?
Or do people have suggestions of other software to use? I’ve tried LOTS of editors and only found one commercial piece of software that does what I need.
BW,
A -
@artyb55 said in [New Plugin] CSV Lint:
Hi,
I don’t know if this the best place to ask for features for the plugin?Best, no: the plugin has a github issues page where you can make feature requests. But the developer of that plugin does swing by here occasionally, and will likely eventually see your request.
I need to work with CSV files that aren’t compliant with RFC 4180 CSV rules, and I can’t change their format. They have some rows of differing lengths, and some fields are encloses in quotes even though they don’t strictly have to be according to the standard.
Neither of those are a problem for the CSV Lint plugin. Well, extra quotes is not a problem at all. The too-few-fields has a workaround in CSV Lint.
If you load a CSV with CSV Lint active, and it highlights it all blue (pretends it’s one column), then do Plugins > CSV Lint > CSV Lint Window, make sure the checkbox for “automatic” is unchecked, and click Detect Columns to manually detect the columns: at that point, it will pop up a dialog:
Tell it you want comma as the separator, and check or uncheck the “header names” option. Then it will highlight based on number of fields per line, even if there aren’t a consistent number of fields.I’ve been searching for an editor that will allow me to move some fields, and delete some columns, WITHOUT changing the formatting of the CSV file. I don’t know that could be added as an extension?
Well, CSV Lint is not a spreadsheet editor, and I don’t think it has column-moving or column-deleting options. My guess is that adding the change the order of columns would be a huge feature addition. As would “field” operations like “easily” moving from one field column to another for just one record.
Or do people have suggestions of other software to use? I’ve tried LOTS of editors and only found one commercial piece of software that does what I need.
This forum is focused on Notepad++. Notepad++ is focused on editing the text of the file, not the “spreadsheet-like qualities” behind that text. And a Notepad++ text-editor forum seems a strange (off-topic) place to ask for recommendations for non-Notepad++, non-text-editor software recommendations.
But in Notepad++, you might be able to use the “CsvQuery” plugin to use SQL commands to manipulate the data; you might be able to delete a column in SQL commands, or move field values around, and then have that plugin take the final state of the SQL table and put it back as the raw CSV… but I only do SQL for about 1 day per year, and couldn’t tell you how; and I don’t know that plugin well enough to know if it saves the final state of the table as CSV in the same format that it started as (nor what it would do, whether it would remember extra quotes or not).