【发布时间】:2018-10-12 10:16:43
【问题描述】:
我有一个 CSV 文件,其内容如下:
A: 12, B: 14
A: 1, B: 4
A: 2, B: 1
A: 21, B: 41
我可以用正则表达式分隔列:
import pandas as pd
df = pd.read_csv("test.csv", sep = ":\s*|,\s*", names = ["dummy1", "A", "dummy2", "B"], engine = "python")
print(df)
输出
dummy1 A dummy2 B
0 A 12 B 14
1 A 1 B 4
2 A 2 B 1
3 A 21 B 41
为了防止创建无用的列,我尝试了以下策略:
import pandas as pd
df1 = pd.read_csv("test.csv", sep = "A:\s*|,\s*B:\s*", names = ["A", "B"], engine = "python")
print(df1)
但现在索引只包含NaN 值:
A B
NaN 12 14
NaN 1 4
NaN 2 1
NaN 21 41
为什么会发生这种情况以及如何预防?
【问题讨论】:
标签: python python-3.x pandas csv