大家好:我正在尝试从软件读取数据:它会生成这样的表格:
Data1 | Data2 | Data3
Data4 | Data5 | Data6
Data7 | Data8 | Data9
我可以将它复制到剪贴板,并且数据值用表格符号分隔,所以我认为它可以被pandas读取。 如果我这样做
ExportedData=pd.read_clipboard(names = ["ColA","ColB","ColC"], header=None)
或
ExportedData=pd.read_clipboard(names = ["ColA","ColB","ColC"], header=None, index_col=[0])
甚至
ExportedData=pd.read_clipboard(names = ["ColA","ColB","ColC"], header=None, index_col=[])
我有相同的结果:列索引显示为空:
索引 | ColA | ColB | ColC | |
---|---|---|---|---|
0 | 数据1 | 数据2 | 数据3 | |
1 | 数据4 | 数据5 | 数据6 | |
2 | 数据7 | 数据8 | 数据9 |
但是如果我这样做
ExportedData=pd.read_clipboard(names = ["ColA","ColB","ColC"], header=None, index_col=False)
我拥有的是:
索引 | ColA | ColB | ColC | |
---|---|---|---|---|
0 | 0 | 南 | 数据1 | 数据2 |
1 | 1 | 南 | 数据4 | 数据5 |
2 | 2 | 南 | 数据7 | 数据8 |
我想知道如何获得索引列:
索引 | ColA | ColB | ColC |
---|---|---|---|
0 | 数据1 | 数据2 | 数据3 |
1 | 数据4 | 数据5 | 数据6 |
2 | 数据7 | 数据8 | 数据9 |
您需要使用正则表达式设置分隔符:
ExportedData = pd.read_clipboard(names=["ColA","ColB","ColC"],
header=None, sep=r'\s*\|\s*')
如果你真的有表格:
ExportedData = pd.read_clipboard(names=["ColA","ColB","ColC"],
header=None, sep=r'\t')
输出:
ColA ColB ColC
0 Data1 Data2 Data3
1 Data4 Data5 Data6
2 Data7 Data8 Data9