使用两个定界符将CSV导入熊猫

瓦伦齐奥

我有一个带有两个定界符(;)和(,的CSV,它看起来像这样:

vin;vorgangid;eventkm;D_8_lamsoni_w_time;D_8_lamsoni_w_value
V345578;295234545;13;-1000.0,-980.0;7.9921875,11.984375
V346670;329781064;13;-960.0,-940.0;7.9921875,11.984375

我想将其导入到大熊猫数据帧,用(;)用作柱分离器和(,)作为用于一个分离器listarray使用float作为数据类型。到目前为止,我正在使用此方法,但是我敢肯定有一些更简单的方法。

aa=0;
csv_import=pd.read_csv(folder+FileName, ';')
for col in csv_import.columns:
aa=aa+1
if type(csv_import[col][0])== str and aa>3:
    # string to list of strings
    csv_import[col]=csv_import[col].apply(lambda x:x.split(','))
    # make the list of stings into a list of floats
    csv_import[col]=csv_import[col].apply(lambda x: [float(y) for y in x])
阿米·塔沃里

除了此处的其他更好的答案(更具体地讲是熊猫)之外,应该指出的是,Python本身在字符串处理方面非常强大。您可以将替换';'的结果','放在一个StringIO对象中,然后从那里正常工作:

In [8]: import pandas as pd

In [9]: from cStringIO import StringIO

In [10]: pd.read_csv(StringIO(''.join(l.replace(';', ',') for l in open('stuff.csv'))))
Out[10]: 
                   vin  vorgangid  eventkm  D_8_lamsoni_w_time  \
V345578 295234545   13    -1000.0   -980.0            7.992188   
V346670 329781064   13     -960.0   -940.0            7.992188   

                   D_8_lamsoni_w_value  
V345578 295234545            11.984375  
V346670 329781064            11.984375  

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用两个不同的定界符读取CSV

具有两个定界符的csv

在SAS中使用两个定界符导入文件

使用Java流将两个集合的元素与定界符连接

使用定界符“”(空格)将查询分为两个参数-AppleScript

将cut / awk / sed与两个不同的定界符一起使用

将文件加载到数组中,并使用两个定界符将其分隔两次

根据由定界符分割的两个熊猫系列创建字典

用定界符分割熊猫列,行中有两个不同的大小

最好的方法是用两个不同的定界符来分割字符串,将两个词都大写(仅包含一个定界符,然后再添加两个定界符)?

用两个定界符将字符串分成两列

使用定界符将两个一维String数组合并为单个数组

用Python中的多个定界符将一个列分成两个

提取两个相同定界符(多实例定界符)之间的行

如何清除两个外部定界符之间的内部定界符

awk删除文本并分割两个定界符

在两个定界符之间查找文本

如何删除两个定界符之间的字符?

麻烦在awk中的两个定界符

在一行上的两个定界符之间(包括两个定界符)打印文本

用定界符读取csv文件 使用熊猫

如何使用Python 2.7在两个定界符内查找值

如何在bash中使用定界符逐行合并两个文件

如何使用Unix在两个相邻的定界符之间插入空格字符?

根据最后两个定界符将字符串分成两部分

使用Import-Csv是否可以将连续的定界符视为一个?

Python Regex:两个定界符之间的单词-用标点符号替换前导定界符,但删除结尾的定界符

两个相同或不同定界符之间的子字符串(当定界符出现多次时)

您如何仅通过最后两个定界符对列进行定界?