[英]Problems with importing list of data from python to csv
我剛開始使用 python,在將數據列表從 python 導出到 csv 時遇到了一些問題。
我有一些值數組,每個值對應一個特定的時間。 我想要的是在 csv 上復制這些 arrays (都具有相同的長度),以便每一行都顯示該特定時刻的所有變量的值。 我寫的是:
with open ('Risultati.csv', 'w', newline='' ) as f:
thewriter=csv.writer(f)
thewriter.writerow(['x','y','z','w'])
for i in range(0,len(x)):
thewriter.writerow(['x[%i]', 'y[%i]','z[%i]','w[%i]'])
但是在 csv 中,我在每一行中獲得的是x[%i] y[%i] z[%i] w[%i]
。 我還希望每個值列表都與 header 對齊,就像在帶有 Excel 的表中一樣。
我希望我說清楚了。 先感謝您。
以下情況如何:
import csv
import random
x = random.sample(range(10, 30), 5)
y = random.sample(range(10, 30), 5)
z = random.sample(range(10, 30), 5)
w = random.sample(range(10, 30), 5)
with open ('out.csv', 'w', newline='' ) as f:
thewriter=csv.writer(f)
thewriter.writerow(['x','y','z','w'])
for i in range(0,len(x)):
thewriter.writerow([x[i], y[i], z[i], w[i]])
給你:
$ python3 ./test.py
$ cat ./out.csv
x,y,z,w
18,23,17,25
23,27,16,26
15,18,28,10
12,15,23,18
26,29,21,27
我強烈建議您閱讀有關 python 列表的教程,那里有很多,例如這個
是否可以創建 pandas Dataframe 然后立即將其保存到文件中? 下面的小例子:
import pandas as pd
# buffer for data
values = []
# here adding exemplary rows
values.append({'x':1, 'y':2, 'z':3, 'w':4})
values.append({'x':4, 'y':5, 'z':6, 'w':7})
# convert to df
df = pd.DataFrame(values)
# save to csv
df.to_csv('file.csv', index=None)
@urban 對原始帖子的評論似乎是正確的。
盡管如此,我還是建議您看一下 Pandas 庫(無論如何,您可能會在某個時候使用它)。 你只需要:
import pandas as pd
df = pd.DataFrame() # create a new empty DataFrame
df['x'] = x # fill it with values
df['y'] = y
df['z'] = z
df['w'] = w
df.to_csv('.../file.csv', index=None)
Pandas 還允許您使用df.to_excel()
、 df.to_parquet()
等,將 output 保存為其他文件格式。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.