# Custom field filling with import from csv file \[in Linux Mint/Puddletag\]

**URL:** https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504
**Category:** Support
**Created:** [February 14, 2025, 10:50am UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504 "2025-02-14T10:50:21Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Lestate](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/f1d935/32.png) [@Lestate](https://community.mp3tag.de/u/Lestate)
#### Post date: [February 14, 2025, 10:50am UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/1 "2025-02-14T10:50:21Z")

</div>

Hello. I'm a new member.

I would like to know how to automatically fill a custom field from a list, prepared in a text file.

I have a CSV file containing the artist, the title and the peak level (in dB) of each song, presented as follows:

`Name of artist;Title of song;-0.14 dB`

I first created the custom **peak\_level** field.

I've tried the various functions that seem appropriate, but I don't know the exact syntax.

Thanks.

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [February 14, 2025, 11:02am UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/2 "2025-02-14T11:02:03Z")

</div>

You could start with these instructions:

> **[Import Tags from Text Files – Mp3tag Documentation](https://docs.mp3tag.de/converters/import-tags-from-text-files/)**
>
> Documentation on Text File to Tag, a converter to import tags from text files. Mp3tag is the universal Tag Editor.

Let us know if you need specific help.

Your Format string should look like this:  
`%artist%;%title%;%peak_level%`

Please note that a semicolon inside your artist name or title cause difficulties for the import.  
The separator should be as unique as possbile and should not exist in the data itself.

---

<div class="post-metadata">

### Author: ![Lestate](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/f1d935/32.png) [@Lestate](https://community.mp3tag.de/u/Lestate)
#### Post date: [February 14, 2025, 11:27am UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/3 "2025-02-14T11:27:07Z")

</div>

Thanks for the quick answer, but it doesn't work. I tried with this syntax and went through the **Convert/Clipboard -\> Tag** menu. But if I try to insert the values in a _custom_ field, it doesn't work. On the other hand, it's ok if I use a _stock_ field, for example:

`%artist%,%title%,%comment%`

I don't know why it doesn't work with a custom field.

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [February 14, 2025, 11:30am UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/4 "2025-02-14T11:30:47Z")

</div>

> [@Lestate](#):
>
> tried with this syntax and went through the **Convert/Clipboard -\> Tag** menu

Is this menu point available on Mac?  
I don't find it on my Windows Mp3tag v3.28c.

If I import the CSV line  
`Name of artist;Title of song;-0.14 dB`  
with the menu _Convert -\> Text file - Tag_  
and the Format string  
`%artist%;%title%;%peak_level%`

 ![image](https://community.mp3tag.de/uploads/default/original/3X/4/d/4d046b83d4fec344d3f4f1c562e09b7222e86413.png)

I get this 3 fields as result in my `01 - test.mp3` track

 ![image](https://community.mp3tag.de/uploads/default/original/3X/9/d/9d77391a9f4004bab069b9993ab239504fa761c7.png)

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [February 14, 2025, 11:40am UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/5 "2025-02-14T11:40:45Z")

</div>

> [@Lestate](#):
>
> I don't know why it doesn't work with a custom field.

Please show us some content of your real CSV file.

In the initial question you write about fields separated by a semicolon.  
In your second answer you seem to use a comma a separator in the Format string.

The separator in the Format string has to be exactly the same as the one your CSV file.

---

<div class="post-metadata">

### Author: ![Lestate](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/f1d935/32.png) [@Lestate](https://community.mp3tag.de/u/Lestate)
#### Post date: [February 14, 2025, 11:41am UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/6 "2025-02-14T11:41:27Z")

</div>

Sorry. I run under Linux Mint and I use the Puddletag fork. I thought it was exactly the same as MP3Tag.

 ![Capture d’écran du 2025-02-14 12-37-59](https://community.mp3tag.de/uploads/default/original/3X/1/0/1056780adf4d2ff60bce43b05822a5cca37c13d1.png)

 ![Capture d’écran du 2025-02-14 12-38-33](https://community.mp3tag.de/uploads/default/original/3X/5/9/59f2a78e22ebe27d2ff1c82c4501ebbf62d2ff3b.png)

Anyway, it's the same with the **Text to Tag** function.

I wonder if it would be possible to fill in the how field and then copy the values to the peak\_level field?

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [February 14, 2025, 11:42am UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/7 "2025-02-14T11:42:14Z")

</div>

> [@Lestate](#):
>
> I run under Linux Mint and I use the Puddletag fork.

Sorry, I have no idea about "Linux Mint" or a "Puddletag fork".

If you speak about this "[Puddletag](https://community.linuxmint.com/software/view/puddletag)" I suggest to ask over there in the support forum of Linux Mint/Puddletag.

> [@Lestate](#):
>
> I thought it was exactly the same as MP3Tag.

Mp3tag and Puddletag are two different applications, even if Puddletag claims:

> puddletag is an audio tag editor (primarily created) for GNU/Linux **similar to the Windows program Mp3tag**

---

<div class="post-metadata">

### Author: ![Lestate](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/f1d935/32.png) [@Lestate](https://community.mp3tag.de/u/Lestate)
#### Post date: [February 14, 2025, 12:27pm UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/8 "2025-02-14T12:27:11Z")

</div>

Okay, I think I've got it. It looks like it's the underscores that are the problem in Puddletag. Why? I don't know. I renamed the field to **peaklevel** and it works (with import function or clipboard).

`%artist%,%title%,%peaklevel%`

---

<div class="post-metadata">

### Author: ![LyricsLover](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/c6cbf5/32.png) [@LyricsLover](https://community.mp3tag.de/u/LyricsLover)
#### Post date: [February 14, 2025, 12:40pm UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/9 "2025-02-14T12:40:13Z")

</div>

Thanks for the feedback and your finding.

I hope that you can find some function in Puddletag that can copy your content from PEAKLEVEL to PEAK\_LEVEL and then deletes the no more needed field name without underscore.

---

<div class="post-metadata">

### Author: ![Lestate](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/f1d935/32.png) [@Lestate](https://community.mp3tag.de/u/Lestate)
#### Post date: [February 14, 2025, 12:43pm UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/10 "2025-02-14T12:43:30Z")

</div>

As it's not a standard field, it doesn't matter that it's named without underscores.

Now I need to see how to proceed for files in recursive folders (albums).

---

<div class="post-metadata">

### Author: ![Lestate](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/f1d935/32.png) [@Lestate](https://community.mp3tag.de/u/Lestate)
#### Post date: [February 14, 2025, 3:29pm UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/11 "2025-02-14T15:29:16Z")

</div>

It's not as easy as I thought. I'm French. I have many pieces of music that contain “special” characters.

Example: Étienne Daho

In my spreadsheet (LO Calc), when I sort the file name alphabetically, É comes after E. But in the Puddletag sorting, it comes after Z. And it's the same for accented lower-case letters within words (Cé comes after Cu instead of Ce).

So I have to be very careful and classify my text file in the same way as Puddletag. I had naively thought that the function system would automatically look for the line corresponding to the file (or to the artist/title) to enter the values.

---

<div class="post-metadata">

### Author: ![Florian](https://community.mp3tag.de/user_avatar/community.mp3tag.de/florian/32/5759_2.png) [@Florian](https://community.mp3tag.de/u/Florian)
#### Post date: [February 14, 2025, 3:38pm UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/12 "2025-02-14T15:38:05Z")

</div>

Please understand that this is the Mp3tag Community. If you're looking for support regarding puddletag, please refer to their respective support channels.

---

<div class="post-metadata">

### Author: ![Lestate](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/f1d935/32.png) [@Lestate](https://community.mp3tag.de/u/Lestate)
#### Post date: [February 14, 2025, 5:48pm UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/13 "2025-02-14T17:48:45Z")

</div>

I installed MP3Tag under Wine. The functions are the same and the problem I mentioned earlier regarding alphabetical sorting is identical.

---

<div class="post-metadata">

### Author: ![poster](https://community.mp3tag.de/user_avatar/community.mp3tag.de/poster/32/4881_2.png) [@poster](https://community.mp3tag.de/u/poster)
#### Post date: [February 14, 2025, 6:43pm UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/14 "2025-02-14T18:43:59Z")

</div>

I think you have to change your sorting scheme in Linux.

---

<div class="post-metadata">

### Author: ![Lestate](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/f1d935/32.png) [@Lestate](https://community.mp3tag.de/u/Lestate)
#### Post date: [February 16, 2025, 7:43am UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/15 "2025-02-16T07:43:43Z")

</div>

The alphabetical arrangement of files under Linux is correct. It's the same as under Windows; it's in the Puddletag (and MP3Tags) interface that something goes wrong (and there are no setting options in either of these programs).

In any case, we can consider the issue resolved. But rather than inserting values into fields with an exact correspondence of lines, wouldn't it be possible, by specifying the file name, to have the values inserted according to that name, thus, without having to worry about the order?

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [February 16, 2025, 7:54am UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/16 "2025-02-16T07:54:12Z")

</div>

You can define the property "Sort by" for each column in which you e.g. replace accented characters with the plain ASCII one.  
Also it may be worthwhile to check the options Ctrl-O \> General and the settings for sorting.

---

<div class="post-metadata">

### Author: ![Lestate](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/f1d935/32.png) [@Lestate](https://community.mp3tag.de/u/Lestate)
#### Post date: [February 16, 2025, 8:58am UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/17 "2025-02-16T08:58:35Z")

</div>

In the sorting preferences, I have **artist, title**. If there's a way to replace special characters in the sort, I don't know how to do that.

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [February 16, 2025, 9:11am UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/18 "2025-02-16T09:11:26Z")

</div>

Here is a list of special characters:

> [@Feature request- replace accented characters with ASCII](https://community.mp3tag.de/t/feature-request-replace-accented-characters-with-ascii/10153):
>
> Very good piece of software- thanks! It would be good to have a feature to replace all accented characters with non-accented versions. I have an Audiotron MP3 audio player which only understands USA characters (ie ASCII 7-bit, first 128 chars). It crashes as soon as it gets an accented char in the filename! Here is exactly what I'm after- I could do the regexp but it would be v ugly! [http://www.actionscript.org/forums/showthread.php3?t=211442](http://www.actionscript.org/forums/showthread.php3?t=211442) Maybe an ascii7() function? This is my convert…

See the documentation how to customize the file list:

> **[File List – Mp3tag Documentation](https://docs.mp3tag.de/customization/file-list/#editing-columns)**
>
> Customization options for the File List, including adding, removing, hiding, and rearranging of columns. Mp3tag is the universal Tag Editor.

See the documentation on how to use scripting functions:

> **[Scripting Functions – Mp3tag Documentation](https://docs.mp3tag.de/scripting/#string-functions)**
>
> Documentation on Mp3tag's scripting functions. Mp3tag is the universal Tag Editor.

In your case it would be $replace(%title%,É,E,é,e,etc...) as setting in Sort by.

---

<div class="post-metadata">

### Author: ![ohrenkino](https://community.mp3tag.de/user_avatar/community.mp3tag.de/ohrenkino/32/4843_2.png) [@ohrenkino](https://community.mp3tag.de/u/ohrenkino)
#### Post date: [February 16, 2025, 9:15am UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/19 "2025-02-16T09:15:04Z")

</div>

> [@Lestate](#):
>
> In the sorting preferences

Do you refer to puddletag again? If so, please leave this forum and ask the puddletag support. puddletag and mp3tag are not the same.

---

<div class="post-metadata">

### Author: ![Lestate](https://community.mp3tag.de/letter_avatar_proxy/v4/letter/l/f1d935/32.png) [@Lestate](https://community.mp3tag.de/u/Lestate)
#### Post date: [February 16, 2025, 9:16am UTC](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504/20 "2025-02-16T09:16:28Z")

</div>

No, MP3Tags (under Wine). 🙂

[Next page](https://community.mp3tag.de/t/custom-field-filling-with-import-from-csv-file-in-linux-mint-puddletag/67504.md?page=2)
