如何在 Python 中写入 .csv 文件?
How to write .csv file in Python?
我运行宁以下:output.to_csv("hi.csv")
其中output
是一个pandas数据帧。
我的变量都有值,但是当我在 iPython 中 运行 时,没有创建文件。我该怎么办?
您必须确保 'output' 对象的 'to_csv' 方法实现了写文件功能。
而且 python 中有一个用于 csv 操作的库,所以你不需要处理所有的工作:
最好给出输出 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()
希望这里有对您有用的东西!
我运行宁以下:output.to_csv("hi.csv")
其中output
是一个pandas数据帧。
我的变量都有值,但是当我在 iPython 中 运行 时,没有创建文件。我该怎么办?
您必须确保 'output' 对象的 'to_csv' 方法实现了写文件功能。
而且 python 中有一个用于 csv 操作的库,所以你不需要处理所有的工作:
最好给出输出 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()
希望这里有对您有用的东西!