如何在 Python 中垂直打印出 zip() 中的列表



我有一组用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)

最新更新