Use the whatsapp-converter to convert your exported WhatsApp chat to a CSV, XLS, XLSX or an ODS file.
- The conversion is done locally. No data is shared with the internet!
- The resultset is a CSV file which you can import into your favorite calculation application such as Excel or LibreOffice. You can also directly export to a spreadsheet file and do create a pivot table.
If you want to install the dependencies manually, use pip. On some computers you might need to replace pip by pip3.
pip install tqdm pyexcel pyexcel-xlsxw pyexcel-ods3 xlwt
Use the following command on the command line to get an overview of the available arguments.
python whatsapp-converter.py -h
The easy start is just to provide the filename of the exported WhatsApp chat. The application will process the chat and create a CSV file named resultset.csv.
python whatsapp-converter.py whatsapp-export.txt
If you want to export to an Excel spreadsheet file instead, make sure to add the filename at the end, e.g. resultset.xls.
python whatsapp-converter.py whatsapp-export.txt resultset.xls
or
python whatsapp-converter.py whatsapp-export.txt resultset.xlsx
If you want to export to a LibreOffice spreadsheet file, make sure to add the filename at the end, e.g. resultset.ods. Please note that the export takes some time. The script did not crash.
python whatsapp-converter.py whatsapp-export.txt resultset.ods
Here is the list of all available options:
whatsapp-converter.py [-h] [-v] [-d] filename [resultset.csv|resultset.xls]
filename The WhatsApp file containing the exported chat
resultset Filename of the resultset, default resultset.csv. Use .csv to write a comma separated file. Use .xls to write to an Excel spreadsheet file
-h, --help show this help message and exit
-n --newline create a new line (same date and time) in the resultset for every multiline chat message
-v, --verbose increase output verbosity
-d, --debug increase output verbosity to debug
Consider this chat exported chat message
18.05.19, 11:50:00: Alan Smith: It starts here
This is a new line
By default the resultset will merge the two lines.
2019-05-18 11:50|2019-05-18|11:50|Alan Smith|It starts here This is a new line
If you start the application with the -n argument, a new line will be added and the date and time of the multiline message taken.
2019-05-18 11:50|2019-05-18|11:50|Alan Smith|It starts here
2019-05-18 11:50|2019-05-18|11:50|Alan Smith|This is a new line
Each line of the dataset will be converted to structured data which can be imported into your Excel or LibreOffice sheet.
21/8/19, 11:28:51 PM: Jon Doe: Waste out of wealth 😂
21.12.16, 23:29 - Alan Smith: Like a Rolex
30.11.18, 10:57 - Nachrichten in diesem Chat sowie Anrufe sind jetzt mit Ende-zu-Ende-Verschlüsselung geschützt. Tippe für mehr Infos.
30.11.18, 10:57 - Snoopy: Hallo :)
30.11.18, 10:58 - Snoopy: Jetzt bin ich gespannt auf deine Antwort ;)
1/26/19, 00:07 - Jon Doe: Sleep well
18.05.19, 11:50:00: Alan Smith: It starts here
This is a new line
The resultset file looks like this. In the default configuration new lines get the same date and time stamp and sender name as the previous line:
Date and Time|Date|Time|Name|Message
2019-8-21 23:28|2019-8-21|23:28|Jon Doe|Waste out of wealth 😂
2016-12-21 23:29|2016-12-21|23:29|Alan Smith|Like a Rolex
2018-11-30 10:57|2018-11-30|10:57|Snoopy|Hallo :)
2018-11-30 10:58|2018-11-30|10:58|Snoopy|Jetzt bin ich gespannt auf deine Antwort ;)
2019-01-26 00:07|2019-01-26|00:07|Jon Doe|Sleep well
2019-05-18 11:50|2019-05-18|11:50|Alan Smith|It starts here This is a new line