如何用Python编写.csv文件



我正在运行以下代码:output.to_csv("hi.csv"),其中output是一个pandas数据框。

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

最好给出输出csv文件的完整路径。可能是您签入了一个错误的文件夹。

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

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

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

我不确定这对您是否有用,但我经常用python编写CSV文件。下面是一个使用CSV模块生成随机向量(X, V, Z)值并将其写入CSV的示例。(路径是os的路径是OSX的,但你应该在不同的操作系统上得到这个想法。

写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()

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

相关内容

  • 没有找到相关文章

最新更新