2017-07-25 32 views
0

我想用Python來使用savReaderWriter庫。我有一個數據框,通過df = pd.read_csv讀入。但是,使用下面的代碼片段似乎不會將行寫入文件。savWriter與Dataframe Writer

with savReaderWriter.SavWriter(savFileName, *args) as writer: 
writer.writerows(df) 

我收到以下錯誤TypeError:'str'對象不支持項目assignment.Any幫助非常感謝。

回答

0

這是https://pythonhosted.org/savReaderWriter/

savFileName = 'someFile.sav' 
records = [[b'Test1', 1, 1], [b'Test2', 2, 1]] 
varNames = ['var1', 'v2', 'v3'] 
varTypes = {'var1': 5, 'v2': 0, 'v3': 0} 
with savReaderWriter.SavWriter(savFileName, varNames, varTypes) as writer: 
    for record in records: 
     writer.writerow(record) 

樣品我想你可以把你數據幀到3場(記錄,varNames,varTypes) 順便說一句,你可以使用方法大熊貓將數據寫入文件。

import pandas as pd 

sensor_values = pd.DataFrame([[1,'aaa','bbb'],[2,'ppp','xxx']], columns=['A','B','C']) 
varNames=sensor_values.columns 
records = sensor_values.values 
varType = {key: 0 for x, key in enumerate(sensor_values.columns)} 
+0

我需要將數據寫入sav文件以便在SPSS中使用,因此.to_csv不會有幫助。你如何將數據框分成這3個字段? –

+0

你缺少varTypes ... –

+0

我有修改我的答案,你可以在你的DataFrame上使用相同的方式。 –