如何在熊猫中读取带有分号分隔符的文件

Posted

技术标签:

【中文标题】如何在熊猫中读取带有分号分隔符的文件【英文标题】:How to read a file with a semi colon separator in pandas 【发布时间】:2014-08-27 16:24:51 【问题描述】:

我在 python 中使用 pandas 导入一个.csv 文件。

这是来自.csv的文件格式:

a1;b1;c1;d1;e1;...
a2;b2;c2;d2;e2;...   
.....

获取方法如下:

from pandas import *
csv_path = "C:...."
data = read_csv(csv_path)

现在当我打印文件时,我得到了:

0  a1;b1;c1;d1;e1;...
1  a2;b2;c2;d2;e2;...   

等等...所以我需要帮助来读取文件并将值拆分为列,使用半色字符;

【问题讨论】:

【参考方案1】:

read_csv 接受 sep 参数,在您的情况下,只需像这样传递 sep=';'

data = read_csv(csv_path, sep=';')

在您的情况下失败的原因是默认值为',',因此它将所有列作为单个列条目进行整理。

【讨论】:

有没有办法以编程方式判断 CSV 是否由 ,; 分隔?【参考方案2】:

针对上述莫里斯的问题: “有没有办法以编程方式判断 CSV 是否由 , 或 ; 分隔?”

这会告诉你:

import pandas as pd

df_comma = pd.read_csv(your_csv_file_path, nrows=1,sep=",")
df_semi = pd.read_csv(your_csv_file_path, nrows=1, sep=";")
if df_comma.shape[1]>df_semi.shape[1]:
    print("comma delimited")
else:
    print("semicolon delimited")

【讨论】:

以上是关于如何在熊猫中读取带有分号分隔符的文件的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Python 中读取带有熊猫的 .p 存档文件?

如何正确读取带有日期的csv并在熊猫中省略前导零?

如何在 MATLAB 中读取带有“/”和空格的分隔文件

如何使用包含引号并使用多个分隔符的 pandas 读取 CSV 文件

如何:在 MySQL 工作台中将记录集导出为分号分隔的 csv 文件?

如何以编程方式猜测 CSV 文件是逗号还是分号分隔