如何用Python编写.csv文件?

时间:2015-05-18 05:43:17

标签: python file pandas permissions

我正在运行以下内容:output.to_csv("hi.csv")其中output是一个pandas数据帧。

我的变量都有值但是当我在iPython中运行时,没有创建任何文件。我该怎么办?

3 个答案:

答案 0 :(得分:3)

最好为输出csv文件提供完整路径。可能是您正在检查错误的文件夹。

答案 1 :(得分:1)

我不确定这对你是否有用,但我会在python中频繁地写入CSV文件。以下是使用CSV模块生成随机向量(X,V,Z)值并将其写入CSV的示例。 (路径是OS路径,但是你应该在不同的操作系统上获得想法。

将Python编写为CSV示例

import os, csv, random

# Generates random vectors and writes them to a CSV file

WriteFile = True # Write CSV file if true - useful for testing


CSVFileName = "DataOutput.csv"
CSVfile = open(os.path.join('/Users/Si/Desktop/', CSVFileName), 'w')

def genlist():
    # Generates a list of random vectors

    global v, ListLength
    ListLength = 25 #Amount of vectors to be produced

    Max = 100 #Maximum range value

    x = [] #Empty x vector list
    y = [] #Empty y vector list
    z = [] #Empty x vector list

    v = [] #Empty xyz vector list

    for i in xrange (ListLength):
        rnd = random.randrange(0,(Max)) #Generate random number
        x.append(rnd) #Add it to x list

    for i in xrange (ListLength):
        rnd = random.randrange(0,(Max))
        y.append(rnd) #Add it to y list

    for i in xrange (ListLength):
        rnd = random.randrange(0,(Max)) #Generate random number
        z.append(rnd) #Add it to z list

    for i in xrange (ListLength):
        merge = x[i], y[i],z[i] # Merge x[i], y[i], x[i]
        v.append(merge) #Add merged list into v list

def writeCSV():
    # Write Vectors to CSV file

    wr = csv.writer(CSVfile, quoting = csv.QUOTE_MINIMAL, dialect='excel')
    wr.writerow(('Point Number', 'X Vector', 'Y Vector', 'Z Vector'))

    for i in xrange (ListLength):
        wr.writerow((i+1, v[i][0], v[i][1], v[i][2]))

    print "Data written to", CSVfile

genlist()

if WriteFile is True:
   writeCSV()

希望这里有一些有用的东西!

答案 2 :(得分:0)

您必须确保'output'对象的'to_csv'方法已实现写文件功能。

在python中有一个用于csv操作的库,所以你不需要处理所有的工作:

https://docs.python.org/2/library/csv.html

相关问题