【发布时间】:2016-05-26 15:37:01
【问题描述】:
只是一个简单的问题,使用 pandas to_csv() 函数我将 pandas 数据框保存为具有以下结构的 .csv 文件:
在:
df.to_csv(output_file, sep = '|')
输出:
|id|column2|column3
0|id_1|bla bla bla bla|more strings
1|id_2|bla bla bla bla|more strings
2|id_3|bla bla bla bla|more strings
....
n-1|id_n|bla bla bla bla| more strings
上一个文件的问题是格式,你可以看到.csv文件的左侧有一个坏列:
|id|
0|
1|
2|
....
n-1|
从一开始,我就尝试通过以下方式删除实际上没有名称的列:
df.drop('',axis=1)
print list(df.columns.values)
['id', 'column2', 'column3]
但是,它没有奏效。如何使用to_csv() 函数将以前的 .csv 文件重组为类似的内容?:
id|column2|column3
id_1|bla bla bla bla|more strings
id_2|bla bla bla bla|more strings
id_3|bla bla bla bla|more strings
....
id_n|bla bla bla bla|more strings
更新
在@piRSquared 的回答下,我尝试重新格式化 csv 文件,如下所示:
print list(df.columns.values)
return df.to_csv(output_file, sep='|', index_col=1)[['column1','column2', 'column3']]
#return df.to_csv(output_file, sep = '|')
不过,我得到了这个:
['id', 'content', 'POS-tagged_content']
Traceback (most recent call last):
File "script.py", line 48, in <module>
preprocess_files(input_file, output_file)
File "script.py", line 39, in postag_pandas
return df.to_csv(output_file, sep='|', index_col=1)[['column1','column2', 'column3']]
TypeError: 'NoneType' object has no attribute '__getitem__'
【问题讨论】:
-
你只是想修剪索引,对吗?
-
你的意思是
df.set_index('id', inplace=True)? -
感谢大家的反馈。我只想删除没有任何标题的列。我已经尝试过:
df.set_index('id')。但是,它没有奏效。 -
你的意思是
df.drop('',axis=1) -
为了避免混淆,您应该练习提供足够的代码来生成您当前有疑问的状态。请以此为指导stackoverflow.com/help/mcve
标签: python python-2.7 python-3.x pandas