我正在尝试用pandas创建csv,但是当我导出到csv时它给了我一个额外的行
d = {'one' : pd.Series([1., 2., 3.]),'two' : pd.Series([1., 2., 3., 4.])}
df0_fa = pd.DataFrame(d)
df_csv = df0_fa.to_csv('revenue/data/test.csv',mode = 'w')
所以我的结果是:
,one,two
0,1.0,1.0
1,2.0,2.0
2,3.0,3.0
3,,4.0
但我想要的是
one,two
1.0,1.0
2.0,2.0
3.0,3.0
,4.0
答案 0 :(得分:81)
您所看到的是索引列。只需设置index=False
:
df_csv = df0_fa.to_csv('revenue/data/test.csv',mode = 'w', index=False)
答案 1 :(得分:9)
要在不编制索引的情况下读取csv文件,可以取消设置index_col以防止pandas将第一列用作索引。在将csv保存回磁盘时,请不要忘记在$('#example').DataTable({
"processing": true,
"serverSide": true,
"ajax": _getData(),
"columns": [
{title: "Action"},
{title: "Input"},
{title: "State"},
{title: "Completed"},
{title: "Project"}
]
});
function _getData(data, callback) {
$.getJSON("/api/dashboard_data/", success);
function success(data) {
// you'll probably want to get recordsTotal & recordsFiltered from your server
callback({
recordsTotal: 57,
recordsFiltered: 57,
data: data
})
}
}
中设置index = false 。这不会生成额外的索引列。另外,如果您需要从数据框中删除/删除特定列,请使用to_csv
,它对我有用,如下所示:
drop
在这种情况下,即使您的csv具有有效的索引列,也可以跳过import pandas as pd
file_path = 'example_file.csv'
data_frame = pd.read_csv(file_path, index_col = False)
column_name = 'column'
data_frame = data_frame.drop(column_name, axis = 1)
data_frame.to_csv(file_path, index = False)
中的index_col = False
。