当我读取 .csv 表时,我的数据框中有多个“\t”

问题描述

我的数据帧分布在多个 .csv 文件中,所以我首先使用了 glob 模块:

import glob
us_files = glob.glob("states*.csv")
us_list = []
for filenames in us_files:
    data = pd.read_csv(filenames)
    us_list.append(data)
us_census_df = pd.concat(us_list)

当我打印表格时:

\t"\tState\tTotalPop\tHispanic\tWhite\tBlack\tNative\tAsian\tPacific\tIncome\tGenderPop"
0   0\t"0\tAlabama\t4830620\t3.7516156462584975%\t...                                      
1   1\t"1\tAlaska\t733375\t5.909580838323351%\t60....                                      
2   2\t"2\tArizona\t6641928\t29.565921052631502%\t...                                      
3   3\t"3\tArkansas\t2958208\t6.215474452554738%\t...     

所以我将数据帧传递到 .csv 文件,然后读取 .csv 文件,因为使用 pd.read_csv 我可以选择 sepdelimiters

us_census_df.to_csv('us_census.csv',sep ='\t')
us_census = pd.read_csv('us_census.csv',sep = '\t',delimiter = ',')   

但是桌子没有改变......

解决方法

用下面的代码试试这个

import glob
import pandas as pd
us_files = glob.glob("states*.csv")
us_list = []
for filenames in us_files:
    us_list.append(pd.read_csv(filenames,sep='\t'))

us_census_df = pd.concat(us_list,ignore_index=True)

检查这个url