用Python读取分号(';')分隔的原始文本
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用Python读取分号(';')分隔的原始文本相关的知识,希望对你有一定的参考价值。
我设法在网上找到了一些解决方案,但常常没有解释。我是Python新手,通常选择在Excel中重做数据。但是,我想学习如何处理以下问题:
我以这种形式获得了巴西的数据。该网站说“将文件另存为csv”。看起来很乱...
Espírito Santo;
Dados;
Ano;População total;Homens;Mulheres;Nascimentos;Óbitos;Taxa de Crescimento Geométrico;Taxa Bruta de Natalidade;Taxa Bruta de Mortalidade;Esperança de Vida ao Nascer;Esperança de Vida ao Nascer - Homens;Esperança de Vida ao Nascer - Mulheres;Taxa de Mortalidade Infantil;Taxa de Mortalidade Infantil - Homens;Taxa de Mortalidade Infantil - Mulheres;Taxa de Fecundidade Total;Razão de Dependência - Jovens 0 a 14 anos;Razão de Dependência - Idosos 65 ou mais anos;Razão de Dependência;Índice de Envelhecimento;
2010;3596057;1772936;1823121;54018;19734;x;15.02;5.49;75.93;71.9;80.19;11.97;13.59;10.28;1.73;34.49;10.17;44.67;29.41;
2011;3642595;1795501;1847094;55387;19923;1.29;15.21;5.47;76.36;72.35;80.59;11.3;12.87;9.66;1.77;33.72;10.41;44.13;30.77;
2012;3689347;1818188;1871159;55207;20142;1.28;14.96;5.46;76.76;72.78;80.96;10.69;12.2;9.1;1.75;32.98;10.68;43.65;32.17;
2013;3736386;1841035;1895351;56785;20396;1.27;15.2;5.46;77.14;73.19;81.31;10.14;11.6;8.6;1.8;32.29;10.97;43.26;34.22;
2014;3784361;1864376;1919985;57964;20676;1.28;15.32;5.46;77.51;73.58;81.64;9.64;11.06;8.15;1.83;31.73;11.31;43.04;35.59;
2015;3832826;1887984;1944842;58703;20979;1.28;15.32;5.47;77.85;73.95;81.95;9.19;10.56;7.74;1.85;31.29;11.69;42.98;37.44;
2016;3879376;1910629;1968747;55091;21282;1.21;14.2;5.49;78.18;74.31;82.24;8.78;10.11;7.38;1.73;30.84;12.13;42.97;39.35;
2017;3925341;1932993;1992348;58530;21624;1.18;14.91;5.51;78.49;74.65;82.5;8.42;9.71;7.06;1.84;30.52;12.61;43.13;41.31;
2018;3972388;1955930;2016458;58342;22016;1.2;14.69;5.54;78.79;74.97;82.76;8.09;9.34;6.77;1.83;30.31;13.14;43.45;43.6;
2019;4018650;1978483;2040167;58106;22419;1.16;14.46;5.58;79.06;75.27;82.99;7.79;9;6.52;1.83;30.12;13.71;43.83;45.45;
我用MSWord代替了“;”使用“,”和Excel的文本导入来尝试获得更熟悉的数据框。
您将如何使用Python处理这种形式的数据?另存为.csv,然后再次使用熊猫导入?我希望通过将其保留为“”“封闭的字符串来寻求更好的解决方案。
答案
您可以告诉csv解析器什么是分隔符,在这种情况下,它是';'
with open('filepath.csv') as csv_file:
csv.reader(csv_file, delimiter=';')
您如何获得此数据?作为文件?作为字符串?
如果您有文件,则可以使用熊猫读取csv,这将为您提供一个熊猫DataFrame:
pandas.read_csv('filepath.csv', delimiterstr=';')
您可以在这里找到更多信息:https://realpython.com/python-csv/
以上是关于用Python读取分号(';')分隔的原始文本的主要内容,如果未能解决你的问题,请参考以下文章
数据库中IP字段中,两个IP的用分号隔开,不用逗号,用SQL实现