我正在读取一个.csv文件并创建一个Panda数据帧。我从这个数据框中获取一个值,它应该是一个“列表”项,其中包含逗号分隔的值。但它是一个“字符串”项,我必须使用分隔符来分割其中的值。在
例如:我有一个名为“column\u names”的字符串变量,其值如下
column_names = "First_Name, Last_Name,Middle_Name"
column_names = column_name.split(',')
请注意第二个值前面的空格。所以当我打印这个变量时,我会在第二个元素之前得到一个空格,这将在从这个变量中提取值时进一步造成麻烦。在
^{pr2}$['First_Name', ' Last_Name', 'Middle_Name']
为了克服这个问题,如果我保持separator和实际的separator有一个空格(这里是“,”),那么这些值就不能正确地拆分,如下所示
column_names = "First_Name, Last_Name,Middle_Name"
column_names = column_names.split(', ')
print(column_names)
['First_Name', 'Last_Name,Middle_Name']
拆分时请注意逗号右侧的空格。使用这个分隔符,我只能得到两个值,而不是三个值。在
我的问题是变量可能包含逗号分隔的值以及逗号左侧或右侧的空格,或者根本没有空格。我必须用一个命令来处理所有的案件(如果可能的话)。类似于在拆分时提供多个分隔符值。
例如:列_名称.拆分(','|', '|' ,'). 在
不确定是否有这样的,但任何指向这一点的指针将是有帮助的。在
您可以使用^{} parameter :
注意:此参数只考虑分隔符后的空格的,因此@cᴏʟᴅsᴘᴇᴅ的答案更通用。在
这是CSV的常见问题。幸运的是,只要正确地读取CSV,就可以将其扼杀在萌芽状态,这样以后就不必再做这些不必要的后处理了。在
使用
read_csv
读取数据帧时,请将正则表达式传递给sep
\delimiter
-现在,
df.columns
应该是一个字符串列表。在相关问题 更多 >
编程相关推荐