如何在 Python 中写入 .csv 文件?

How to write .csv file in Python?

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

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

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

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

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

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

我不确定这是否对您有用,但我经常在 python 中写入 CSV 文件。下面是使用 CSV 模块生成随机向量(X、V、Z)值并将它们写入 CSV 的示例。 (路径是 os 路径是 OSX 但即使在不同的 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()

希望这里有对您有用的东西!