防止pandas删除文本列中数字中的空格

2024-09-27 04:08:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将CSV文件加载到pandas数据帧中。CSV以分号分隔。文本列中的值用双引号括起来。在

有问题的文件:https://www.dropbox.com/s/1xv391gebjzmmco/file_01.csv?dl=0

在其中一个文本列('TYTUL')中,我有以下值:

"00 307 1457 212"

我将列指定为str,但当我将结果打印或导出到excel时,我得到

003071457212

而不是

00 307 1457 212

我如何防止熊猫移动空间?在

这是我的代码:

import pandas

df = pandas.read_csv(r'file_01.csv'
                     ,sep = ';'
                     ,quotechar = '"'
                     ,names = ['DATA_OPERACJI'
                               ,'DATA_KSIEGOWANIA'
                               ,'OPIS_OPERACJI'
                               ,'TYTUL'
                               ,'NADAWCA_ODBIORCA'
                               ,'NUMER_KONTA'
                               ,'KWOTA'
                               ,'SALDO_PO_OPERACJI'
                               ,'KOLUMNA_9']
                     ,usecols = [0,1,2,3,4,5,6,7]
                     ,skiprows = 38
                     ,skipfooter = 3
                     ,encoding = 'cp1250'
                     ,thousands = ' '
                     ,decimal = ','
                     ,parse_dates = [0,1]
                     ,converters = {'OPIS_OPERACJI': str
                                    ,'TYTUL': str
                                    ,'NADAWCA_ODBIORCA': str
                                    ,'NUMER_KONTA': str}
                     ,engine = 'python'
                     )

df.TYTUL.replace([' +', '^ +', ' +$'], [' ', '', ''],regex=True,inplace=True) #this only removes excessive spaces

print(df.TYTUL)

我也想出了一个变通办法(commentţworkaround),但我想问一下是否有更好的方法。在

^{pr2}$

Tags: 文件csv文本pandasdfdatafilestr

热门问题