- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在读取 .csv 文件并创建 Panda Dataframe。我从这个 Dataframe 中获取一个值,该值应该是一个“列表”项,其中包含逗号分隔值。但它作为“字符串”项目出现,我必须使用分隔符来拆分其中的值。
例如:我有一个名为“column_names”的字符串变量,其值如下
column_names = "First_Name, Last_Name,Middle_Name"
column_names = column_name.split(',')
请注意第二个值之前的空格。所以当我打印这个变量时,我会在第二个元素之前得到一个空格,这会在从这个变量中提取值时进一步造成麻烦。
print(column_names)
['First_Name', ' Last_Name', 'Middle_Name']
为了克服这个问题,如果我让分隔符与实际分隔符(此处为 ', ')保持空格,则值不会正确拆分,如下所示
column_names = "First_Name, Last_Name,Middle_Name"
column_names = column_names.split(', ')
print(column_names)
['First_Name', 'Last_Name,Middle_Name']
注意拆分时逗号右边的空格。使用此分隔符,我只能获得两个值而不是三个值。
我的问题是变量可能包含逗号分隔值以及逗号左侧或右侧的空格,或者可能根本没有空格。我必须用一个命令处理所有情况(如果可能的话)。比如在拆分时提供多个分隔符值。
例如:column_names.split(','|', '|' ,')。
不确定是否有这样的东西,但任何指向它的指针都会有所帮助。
最佳答案
这是 CSV 的常见问题。幸运的是,您可以将其防患于未然,只需正确阅读您的 CSV,这样您以后就不必进行所有这些不必要的后处理。
当使用 read_csv
读取数据帧时,将正则表达式传递给 sep
\delimiter
-
df = pd.read_csv(..., sep='\s*,\s*', engine='python')
现在,df.columns
应该是一个字符串列表。
关于Python - 如何使用多个分隔符拆分列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47770013/
我是一名优秀的程序员,十分优秀!