Python智能附加
我有一个csv文件,其中包含:Python智能附加,python,pandas,Python,Pandas,我有一个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:/U
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
有人能帮忙吗
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()
给出这个输出
给出这个输出
如果csv与给定的csv非常相似,则需要使用sep='\t'选项卡分隔符导入它:
df = pd.read_csv('csv2.csv',sep='\t')
然后您的csv输出命令就可以正常工作。如果您的csv看起来确实像给定的csv,那么您需要使用sep='\t'选项卡分隔符导入它:
df = pd.read_csv('csv2.csv',sep='\t')
然后您的csv输出命令工作正常。读取csv:
cars = pd.read_csv('C:/Users/sj/Desktop/car.csv')
创建新数据帧:
new_car = pd.DataFrame([['Perudua'], ['White'], ['Myvi']], index=['Car', 'Color', 'Model']).T
新df如下所示:
Car Color Model
0 Perudua White Myvi
Car Model Color Price
0 Proton X70 NaN 100K
1 Honda NaN white 100K
2 Perudua Myvi White NaN
组合两个数据帧:
cars.append(new_car, sort=False, ignore_index=True).sort_index()
最终结果如下所示:
Car Color Model
0 Perudua White Myvi
Car Model Color Price
0 Proton X70 NaN 100K
1 Honda NaN white 100K
2 Perudua Myvi White NaN
注:
组合时,在末尾添加ignore_index=True和.sort_索引,这样您就可以将索引顺序设置为0、1、2等。。。
添加sort=False将不会得到错误警告。
请随意尝试删除每一个,看看最终结果如何变化。阅读csv:
cars = pd.read_csv('C:/Users/sj/Desktop/car.csv')
创建新数据帧:
new_car = pd.DataFrame([['Perudua'], ['White'], ['Myvi']], index=['Car', 'Color', 'Model']).T
新df如下所示:
Car Color Model
0 Perudua White Myvi
Car Model Color Price
0 Proton X70 NaN 100K
1 Honda NaN white 100K
2 Perudua Myvi White NaN
组合两个数据帧:
cars.append(new_car, sort=False, ignore_index=True).sort_index()
最终结果如下所示:
Car Color Model
0 Perudua White Myvi
Car Model Color Price
0 Proton X70 NaN 100K
1 Honda NaN white 100K
2 Perudua Myvi White NaN
注:
组合时,在末尾添加ignore_index=True和.sort_索引,这样您就可以将索引顺序设置为0、1、2等。。。
添加sort=False将不会得到错误警告。
请随意尝试删除每一个,看看最终结果如何变化。我认为您必须首先从csv加载表,然后将其与其他数据帧连接起来。为此,您可以使用以下功能:
df_from_csv = pd.read_csv('path')
CombineTable = pd.concat((df_from_csv, second_df), axis = 0)
CombineTable.to_csv('path')
我认为您必须首先从csv加载表,然后将其与其他数据帧连接起来。为此,您可以使用以下功能:
df_from_csv = pd.read_csv('path')
CombineTable = pd.concat((df_from_csv, second_df), axis = 0)
CombineTable.to_csv('path')
请尝试以下代码:
df_csv = pd.DataFrame({'Car':['proton','honda'],'Model':['X70',''],'Color':['','White'],'Price':['100k','100k']})
df = pd.DataFrame({'Car':['perudua'],'Model':['Myvi'],'Color':['White']})
df_new = pd.concat([df_csv, df], sort=False).reset_index().drop(columns=['index'])
df_new.to_csv('yourfile.csv')
照你说的做:
Car Model Color Price
0 proton X70 100k
1 honda White 100k
2 perudua Myvi White NaN
请尝试以下代码:
df_csv = pd.DataFrame({'Car':['proton','honda'],'Model':['X70',''],'Color':['','White'],'Price':['100k','100k']})
df = pd.DataFrame({'Car':['perudua'],'Model':['Myvi'],'Color':['White']})
df_new = pd.concat([df_csv, df], sort=False).reset_index().drop(columns=['index'])
df_new.to_csv('yourfile.csv')
照你说的做:
Car Model Color Price
0 proton X70 100k
1 honda White 100k
2 perudua Myvi White NaN
您可以尝试以下代码,以获得所需的输出:
import numpy as np
csvcar = pd.read_csv('C:\Users\xxxxxx\Desktop\car.csv')
dfcar = pd.DataFrame([['Perudua','White','Myvi']], columns =['Car', 'Color', 'Model'])
df = pd.concat((csvcar, dfcar), ignore_index=True)
df1 = df.replace(np.nan, '', regex=True)
以上代码的输出如下:
Car Color Model Price
0 proton X70 100k
1 honda White 100k
2 Perudua White Myvi
然后您可以将其导出或替换为csv文件:
df1.to_csv('C:\Users\xxxxxx\Desktop\car.csv')
您可以尝试以下代码,以获得所需的输出:
import numpy as np
csvcar = pd.read_csv('C:\Users\xxxxxx\Desktop\car.csv')
dfcar = pd.DataFrame([['Perudua','White','Myvi']], columns =['Car', 'Color', 'Model'])
df = pd.concat((csvcar, dfcar), ignore_index=True)
df1 = df.replace(np.nan, '', regex=True)
以上代码的输出如下:
Car Color Model Price
0 proton X70 100k
1 honda White 100k
2 Perudua White Myvi
然后您可以将其导出或替换为csv文件:
df1.to_csv('C:\Users\xxxxxx\Desktop\car.csv')
csv中的分隔符是什么?我看到一些值丢失,您如何理解值丢失的时间?csv中的分隔符是什么?我看到一些值丢失了,您如何理解何时丢失了一个值?