Python将数据框转换为逗号分隔的行

时间:2019-09-27 18:38:12

标签: python pandas

我有一个pandas数据框,将其称为2列df:

 user_id         result
   ---------      ---------
      12              0
      233             1
      189             0

等等。有没有一种简单的方法可以将此数据帧写到只用逗号分隔的行(即

)的文本文件(删除了列标题)中
12, 0
233, 1
189, 0

谢谢。

5 个答案:

答案 0 :(得分:1)

使用类似pandas.to_csv的功能

df.to_csv("tst.csv")

答案 1 :(得分:0)

尝试使用pandas to_csv函数。

答案 2 :(得分:0)

SELECT 
*
FROM (
    SELECT 
    Week
    ,Item_Number
    ,Color_Code
    ,Count(1) Touches
    FROM (

        SELECT

         DATEPART (year, I.Date_Invoiced) Year
        ,DATEPART (month, I.Date_Invoiced) Month
        ,DATEPART (week, I.Date_Invoiced) Week
        ,DATEPART (day, I.Date_Invoiced) Day
        ,I.Invoice_Number
        ,I.Customer_Number
        ,I.Warehouse_Code
        ,S.Pack_Type
        ,S.Quantity_Per_Carton
        ,S.Inner_Pack_Quantity
        ,ID.Item_Number
        ,ID.Color_Code
        ,ID.Quantity
        ,case when s.Pack_Type='carton' then id.Quantity/s.Quantity_Per_Carton when  s.Pack_Type='Inner Poly'  then id.Quantity/s.Inner_Pack_Quantity end  qty
        ,ID.Line_Number

        FROM    Invoices I
                LEFT JOIN Invoices_Detail ID on I.Company_Code = ID.Company_Code and I.Division_Code = ID.Division_Code and I.Invoice_Number = ID.Invoice_Number
                LEFT JOIN Style S on I.Company_Code = S.Company_Code and I.Division_Code = S.Division_Code and ID.Item_Number = S.Item_Number and ID.Color_Code = S.Color_Code

        WHERE   1=1
                AND (I.Company_Code = @LocalCompanyCode OR @LocalCompanyCode IS NULL)  
                AND (I.Division_Code = @LocalDivisionCode OR @LocalDivisionCode IS NULL)
                AND (I.Warehouse_Code = @LocalWarehouse OR @LocalWarehouse IS NULL)
                AND (S.Pack_Type = @LocalPackType OR @LocalPackType IS NULL)
                AND (I.Customer_Number = @LocalCustomerNumber OR @LocalCustomerNumber IS NULL)
                AND (I.Date_Invoiced Between @LocalFromDate And @LocalToDate)
                AND Inner_Pack_Quantity > 1
    ) T
    GROUP BY Week, Item_Number, Color_Code

) TT
ORDER BY Week, Item_Number

相比之下,其他解决方案是非常pythonic的!!

代码的最上面的一行只是围绕着问题而存在,熊猫中没有reset_column函数(可以吗?)。不值得解释,因为header = False更干净

  • 此后,drop命令将删除一行,默认情况下,axis = 0表示删除第一行。所以现在标题被删除了,或者标题是什么了
  • to_csv默认情况下会自动以逗号分隔格式写入数据框

最上面一行进行转换,重置新的行索引(不重置列),向后转换重置行索引,并将块0,1变成标题。有点疯狂,但是有效。

答案 3 :(得分:0)

df.to_csv("Test.csv",header=False)

答案 4 :(得分:0)

df.to_csv("path.txt", header = False, sep = ",", index = False)

这会将其写入文本文件。