我现在看起来像一个有 250 行的单列 DATA_ID\tAmount_1\tAmount2\tAmount30 DATA_1\t1307\t13463\t54471 DATA_2\t144054\t1744\t89342 DATA_3\t919\t4038\t160133 DATA_4\t135409\t113611\t96418我想要的是DATA_ID | Amount1 | Amount2 | Amount3data1 | 123 | 14123 | 931931data2 | 1233 | 38823 | 123513我坚持这个,我试过的是for i in range(len(df)): for j in range(4): new_df = pd.DataFrame({df.columns[0].split()[j]: [df.iloc[i].str.split()[0][j]], })但这似乎不起作用。我发现了类似的问题,但结果不是以编程方式解析器,我认为我应该迭代解决它,但我真的不知道如何
1 回答

陪伴而非守候
TA贡献1757条经验 获得超8个赞
我认为您需要将分隔符设置为制表符read_csv:
df = pd.read_csv(file, sep="\t")
import pandas as pd
temp=u""" DATA_ID\tAmount_1\tAmount2\tAmount3
DATA_1\t1307\t13463\t5447
DATA_2\t144054\t1744\t8934
DATA_3\t919\t4038\t16013
DATA_4\t135409\t113611\t96418"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
df = pd.read_csv(pd.compat.StringIO(temp), sep="\t")
print (df)
DATA_ID Amount_1 Amount2 Amount3
0 DATA_1 1307 13463 5447
1 DATA_2 144054 1744 8934
2 DATA_3 919 4038 16013
3 DATA_4 135409 113611 96418
添加回答
举报
0/150
提交
取消