Python 带有附加空格的CSV

Python 带有附加空格的CSV,python,pandas,csv,Python,Pandas,Csv,如何在正确的位置读取11和12以及23和24文件 例如,数字11和12应分别位于x3和x4变量中 可以在下面看到MWE(obs.:csv格式) 编辑-实例说明 此csv文件有5列:x1、x2、x3、x4和一列没有名称(在最后分号之后) 11和12(以及23和24)的唯一正确位置是x4和第五列 如果您想要x3和x4中的代码,则必须删除额外的在11和23之前 您可能需要检查原始文件,以查看字段中是否有分隔符。假设您的“正确”位置是第x4列。您可以为sep传入一个正则表达式,该表达式将在一次或多次出

如何在正确的位置读取
11
12
以及
23
24
文件


例如,数字
11
12
应分别位于
x3
x4
变量中

可以在下面看到MWE(obs.:
csv
格式)

编辑-实例说明

此csv文件有5列:x1、x2、x3、x4和一列没有名称(在最后分号之后)

11和12(以及23和24)的唯一正确位置是x4和第五列

如果您想要x3和x4中的代码,则必须删除额外的
在11和23之前



您可能需要检查原始文件,以查看字段中是否有分隔符。

假设您的“正确”位置是第x4列。您可以为sep传入一个正则表达式,该表达式将在一次或多次出现“;”时拆分数据:

data = '''x1;x2;x3;x4;
          1;2;3;4;
          5;6;7;8;
          9;10;;11;12
          13;14;15;16;
          17;18;19;20;
          21;22;;23;24'''

pd.read_csv(StringIO(data),sep='[;]+',engine='python').iloc[:,:-1]

    x1  x2  x3  x4
0   1   2   3   4
1   5   6   7   8
2   9   10  11  12
3   13  14  15  16
4   17  18  19  20
5   21  22  23  24

我认为你需要定义你认为“正确的地方”。此外,您似乎在M中遗漏了代码。例如,数字
11
12
应分别位于
x3
x4
变量中。这是否回答了您的问题@man0s此解决方案用于字符串中的空白。这是一个最小工作示例(MWE),在我的问题中,有大量行和许多csv。它们是否存在相同的问题,或者字段中是否有一些分隔符?如果它们与您的示例类似,csv文件的(创建)应该是固定的,而不是解析。@WagnerSilva您是否能够提供一些真实数据(或这些文件中的一些问题行)来查看?谢谢您的回答。我的数据是
csv
文件,在本例中,这些文件不起作用。我需要直接读取
csv
文件。在实际读取数据时是否包含StringIO?读取您自己的数据时,只需删除StringIO。我放置了数据集的快照。@WagnerSilva我们需要查看原始数据以了解问题所在(在本例中,问题似乎在“AX”列中)。
data = '''x1;x2;x3;x4;
          1;2;3;4;
          5;6;7;8;
          9;10;;11;12
          13;14;15;16;
          17;18;19;20;
          21;22;;23;24'''

pd.read_csv(StringIO(data),sep='[;]+',engine='python').iloc[:,:-1]

    x1  x2  x3  x4
0   1   2   3   4
1   5   6   7   8
2   9   10  11  12
3   13  14  15  16
4   17  18  19  20
5   21  22  23  24