PythonPandas智能附加

2024-09-24 22:23:52 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个csv文件包含:

Car     Model   Color    Price
Proton  X70              100K
Honda           white    100K

我有一个数据帧:

Car       Color      Model
Perudua   White      Myvi

我希望将dataframe附加到csv文件中,但我下面的代码不会提供所需的输出,它不会基于列名进行附加。你知道吗

if not os.path.isfile('C:/Users/sj/Desktop/car.csv'):
    CombineTable.to_csv('C:/Users/sj/Desktop/car.csv', header='column_names',index=False)
else:
    CombineTable.to_csv('C:/Users/sj/Desktop/car.csv', header=False, mode='a',index=False)

我想要的输出是:

Car     Model   Color    Price
Proton  X70              100K
Honda           white    100K
Perudua Myvi    White

有人能帮忙吗?你知道吗


Tags: 文件csvfalsemodelcaruserspricecolor
3条回答

如果您的csv真的像给定的那样,那么您需要使用sep='\t'选项卡分隔符导入它:

df = pd.read_csv('csv2.csv',sep='\t')

然后您的csv输出命令工作正常。你知道吗

df1 = pd.DataFrame({'Car':['proton','honda'],'Model':['X70',''],'Color':['','White'],'Price':['100k','100k']})
df2 = pd.DataFrame({'Car':['perudua'],'Model':['Myvi'],'Color':['White']})

pd.concat([df1,df2],sort=False).reset_index()

提供此输出

enter image description here

我认为您必须首先从csv加载表,然后将它与其他数据帧连接起来。为此,可以使用pandas.concat函数:

df_from_csv = pd.read_csv('path')
CombineTable = pd.concat((df_from_csv, second_df), axis = 0)
CombineTable.to_csv('path')

相关问题 更多 >