我有一组用zip((映射的数据。我把它写成csv,但它都在第一行。我希望将((中的每组数据放在单独的行中(垂直列出(,以便于阅读。
import pandas as pd
import numpy as np
import plotly
import matplotlib.pyplot as plt
from scipy.fftpack import fft, ifft
from scipy import arange
import csv
import math
df=pd.read_csv (r'C:Users20amps.csv')
N=df.shape[0] #Number of samples
T=125000 #Frequency of Signal
k=arange(N)
Ts=N/T
freq=k/Ts
freq=freq[range(N//40)]
amp=df["AC1 A"]
rms= [i * math.sqrt(2) for i in amp]
yf=fft(rms)/N
yf=yf[range(N//40)]
zipped = zip (freq, abs(yf))
w = list(zipped)
print(w)
#Writing to csv file
with open('data.csv', 'w') as csvFile:
writer =csv.writer(csvFile, delimiter=',')
writer.writerow(w)
这是输出/csv 代码输出 .csv
而不是:
w = list(zipped)
print(w)
做:
w = list(zipped)
for item in w:
print(item)
此外,代替:
with open('data.csv', 'w') as csvFile:
writer =csv.writer(csvFile, delimiter=',')
writer.writerow(w)
您可能希望:
with open('data.csv', 'w') as csvFile:
writer =csv.writer(csvFile, delimiter=',')
for item in w:
writer.writerow(item)
快速 - 将print(w)
更改为print('n'.join([str(s) for s in w]))
并将writer.writerow(w)
更改为for
循环:
for s in w:
writer.writerow(s)