首页 > 解决方案 > 当我读取 .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我可以选择sepand delimiters

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

但表并没有改变......

标签: pythonpandasdataframedelimiterglob

解决方案


用下面的代码试试这个

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)

检查这个网址


推荐阅读