gpt4 book ai didi

python - Pandas :read_csv 表示 'space-delimited'

转载 作者:行者123 更新时间:2023-11-28 22:37:12 26 4
gpt4 key购买 nike

我有以下 file.txt(删节):

SICcode        Catcode        Category                              SICname        MultSIC
0111 A1500 Wheat, corn, soybeans and cash grain Wheat X
0112 A1600 Other commodities (incl rice, peanuts) Rice X
0115 A1500 Wheat, corn, soybeans and cash grain Corn X
0116 A1500 Wheat, corn, soybeans and cash grain Soybeans X
0119 A1500 Wheat, corn, soybeans and cash grain Cash grains, NEC X
0131 A1100 Cotton Cotton X
0132 A1300 Tobacco & Tobacco products Tobacco X

我在将它读入 pandas df 时遇到了一些问题。我尝试使用以下规范 pd.read_csvengine='python', sep='Tab',但它在一列中返回了文件:

    SICcode Catcode Category SICname MultSIC
0 0111 A1500 Wheat, corn, soybeans...
1 0112 A1600 Other commodities (in...
2 0115 A1500 Wheat, corn, soybeans...
3 0116 A1500 Wheat, corn, soybeans...

然后我尝试使用“制表符”作为分隔符将其放入一个 gnumeric 文件中,但它将文件读取为一列。有人对此有想法吗?

最佳答案

如果 df = pd.read_csv('file.txt', sep='\t') 返回一个只有一列的 DataFrame,那么显然 file.txt 是不使用制表符作为分隔符。您的数据可能只是将空格作为分隔符。在那种情况下你可以尝试

df = pd.read_csv('data', sep=r'\s{2,}')

它使用正则表达式模式 \s{2,} 作为分隔符。此正则表达式匹配 2 个或更多空白字符。

In [8]: df
Out[8]:
SICcode Catcode Category SICname \
0 111 A1500 Wheat, corn, soybeans and cash grain Wheat
1 112 A1600 Other commodities (incl rice, peanuts) Rice
2 115 A1500 Wheat, corn, soybeans and cash grain Corn
3 116 A1500 Wheat, corn, soybeans and cash grain Soybeans
4 119 A1500 Wheat, corn, soybeans and cash grain Cash grains, NEC
5 131 A1100 Cotton Cotton
6 132 A1300 Tobacco & Tobacco products Tobacco

MultSIC
0 X
1 X
2 X
3 X
4 X
5 X
6 X

如果这不起作用,请发布 print(repr(open(file.txt, 'rb').read(100))。这将向我们展示前 100 个的明确表示file.txt 的字节。

关于python - Pandas :read_csv 表示 'space-delimited',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36790948/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com