Python 熊猫到_csv标题与列

Python 熊猫到_csv标题与列,python,pandas,Python,Pandas,看起来pandas.to_csv函数有两个属性,它们做相同的事情 也许我错过了什么 从文件中: 列:序列,可选 要编写的列 标题:布尔值或字符串列表,默认为True 写出列名。如果给定了字符串列表,则假定它是列名的别名 当给其中一个列列表时,它们将列按我指定的顺序排列 import pandas as pd from StringIO import StringIO df = pd.DataFrame({"foo":[1,2], "bar":[1,2]}

看起来pandas.to_csv函数有两个属性,它们做相同的事情

也许我错过了什么

从文件中:

列:序列,可选

要编写的列

标题:布尔值或字符串列表,默认为True

写出列名。如果给定了字符串列表,则假定它是列名的别名

当给其中一个列列表时,它们将列按我指定的顺序排列

import pandas as pd
from StringIO import StringIO

df = pd.DataFrame({"foo":[1,2], "bar":[1,2]})

sio = StringIO()
df.to_csv(sio)
sio.getvalue()
',bar,foo\n0,1,1\n1,2,2\n'

sio = StringIO()
df.to_csv(sio, header=['foo', 'bar'])
sio.getvalue()
',foo,bar\n0,1,1\n1,2,2\n'
sio.close()

sio = StringIO()
df.to_csv(sio, columns=['foo', 'bar'])
sio.getvalue()
',foo,bar\n0,1,1\n1,2,2\n'
sio.close()
如果我只想对列顺序进行排序,那么应该使用哪一个

我看到的两个命名属性不同的唯一情况是,我想选择列,但不想将标题写入csv文件


这意味着使用
列=['foo','bar']
是正确的选择。

在写这个问题时,我意识到了答案,我想我会马上分享它

我的示例数据未显示问题

使用列可以更改列顺序,包括标题和值

df = pd.DataFrame({"foo":[1,2], "bar":[1111,2111]})
sio = StringIO()
df.to_csv(sio, columns=['foo', 'bar'])
sio.getvalue()
',foo,bar\n0,1,1111\n1,2,2111\n'
使用header时,标题会更改,但列中的值不会更改

sio = StringIO()
df.to_csv(sio, header=['foo', 'bar'])
sio.getvalue()
',foo,bar\n0,1111,1\n1,2111,2\n'
如果你混淆了
列=
标题=
,你会过得很糟糕