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

Yan*_*eun 11 python csv pandas

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

以下是来自的文件格式.csv:

a1;b1;c1;d1;e1;...
a2;b2;c2;d2;e2;...   
.....
Run Code Online (Sandbox Code Playgroud)

这是如何得到它:

from pandas import *
csv_path = "C:...."
data = read_csv(csv_path)
Run Code Online (Sandbox Code Playgroud)

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

0  a1;b1;c1;d1;e1;...
1  a2;b2;c2;d2;e2;...   
Run Code Online (Sandbox Code Playgroud)

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

EdC*_*ica 35

read_csv拿一个sep参数,在你的情况下只是通过sep=';'这样:

data = read_csv(csv_path, sep=';')
Run Code Online (Sandbox Code Playgroud)

它在您的情况下失败的原因是默认值是','因为它将所有列作为单个列条目进行了搜索.


小智 7

回答上面 Morris 的问题:“有没有办法以编程方式判断 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")
Run Code Online (Sandbox Code Playgroud)