如何将数据作为列写入熊猫

Posted

技术标签:

【中文标题】如何将数据作为列写入熊猫【英文标题】:How do I write data to pandas as columns 【发布时间】:2019-04-20 08:59:55 【问题描述】:

我正在努力将列表写入 CSV 文件。 所以首先我将列表转换为熊猫数据框,现在将其作为列保存到文件中,但数据正在从新行显示。 你能帮我弄清楚我的代码中缺少什么

lst = ['Name', 'Age', 'City']
df = pd.DataFrame(lst)
df.to_csv('file.csv', mode='a', index=False, header=False)

预期结果:Name, Age, City

【问题讨论】:

【参考方案1】:

如果我理解正确,您只需在行中添加 .T 即可写入转置后的数据帧。

df.T.to_csv('file.csv', mode='a', index=False, header=False)
---^

虽然如果您只使用 pandas 将列表作为行写入 csv 文件,您最好看看 csv 模块,因为创建中间数据帧毫无意义。

import csv
lst = ['Name', 'Age', 'City']
with open('file.csv', 'a') as f:
    csv.writer(f).writerow(lst)

【讨论】:

【参考方案2】:

要另存为列,请将您的列表指定为列

lst = ['Name', 'Age', 'City']
df = pd.DataFrame(columns=lst)

df.to_csv('file.csv', mode='a', index=False)

如果没有指定,pd.DataFrame 的第一个参数是data,所以你必须明确分配给columns

【讨论】:

以上是关于如何将数据作为列写入熊猫的主要内容,如果未能解决你的问题,请参考以下文章

如何在数据框熊猫中制作列字幕?

如何将 XML 属性作为列写入 Oracle 中的表?

熊猫将数据框写入其他 postgresql 模式

如何在 python 中定义正在写入 AWS Redshift Postgres DB 的数据的列类型

为啥熊猫在写入 csv 时会删除前导零?

使用 PySpark 将每一行的每一列作为单独的文件写入 S3