如何解析没有行结尾的 CSV 文件?
示例数据
sep=;Id;Date;1;1980-02-29;2;1980-03-10;3;;
可以使用
lineterminator
参数指定行终止符来解析没有行尾的 CSV 文件。在这种情况下,你可以将
lineterminator
设置为一个空字符串 (
''
)。
以下是使用
pandas.read_csv
解析示例数据的代码:
import pandas as pd
data = 'sep=;Id;Date;1;1980-02-29;2;1980-03-10;3;;'
df = pd.read_csv(
pd.compat.StringIO(data),
sep=';',
lineterminator='',
header=None
)
print(df)
这将输出以下 DataFrame:
0 1 2 3 4 5 6 7
0 sep= Id Date 1 1980-02-29 2 1980-03-10 3
解释:
-
pd.compat.StringIO(data)
: 这会将你的示例数据字符串转换为类似文件的对象,以便read_csv
函数可以读取它。 -
sep=';'
: 这指定了CSV 文件中的分隔符为 ';'。 -
lineterminator=''
: 这将行终止符设置为空字符串,这表示每一行都没有特定的终止符。 -
header=None
: 由于数据中没有标题行,因此我们将header
设置为None
。
这个方法可以帮助你正确解析没有行结尾的 CSV 文件。请注意,根据你的数据格式和需求,你可能需要调整代码中的其他参数,例如
header
,
names
等等。