我有一個字典,其中包含兩個值作為鍵的值(一系列按 50% 和 100% 順序排列的平均值),我想將它們寫入一個包含 3 列的 csv - 鍵,50% 平均值,以及 80% 的平均值。
mydict = {230: [5.93, 5.9350000000000005],
235: [5.96, 6.005],
240: [5.970000000000001, 5.985],
245: [6.005, 6.0],
250: [5.98, 5.99],
255: [5.995, 6.015],
260: [6.05, 6.03],
265: [6.02, 6.035],
270: [5.995, 5.984999999999999]}
headers = ["Freq", "50%_average", "100%_average"]
撰寫字典但沒有分隔符的代碼
def make_text_file(filepath, list_of_headers):
headers = list_of_headers
with open(filepath, 'w', newline='') as filey:
csv_writer = csv.writer(filey, delimiter='\t', lineterminator='\r\n')
csv_writer.writerow(headers)
filey.close()
def write_results_to_textfile(filepath, results_line):
with open(filepath, 'a', newline='') as filey:
csv_writer = csv.writer(filey, delimiter='\t', lineterminator='\r\n')
csv_writer.writerow(results_line)
def write_averages_to_csv(mydict, headers):
filepath = "mydata.csv"
make_text_file(filepath, headers)
for k, v in mydict.items():
results_line = [k, v[0], v[1]]
write_results_to_textfile(filepath, results_line)
def write_results_to_csv(filepath, results_line):
with open(filepath, '', newline='') as filey:
csv_writer = csv.writer(filey, delimiter='\t', lineterminator='\r\n')
csv_writer.writerow(results_line)
write_averages_to_csv(mydict, headers)
所需的輸出 csv
"Freq", "50%_average", "100%_average",
230, 5.93, 5.935,
235, 5.96, 6.005,
...
270, 5.995, 5.9849
uj5u.com熱心網友回復:
您可以使用熊貓:
import pandas as pd
mydict = {230: [5.93, 5.9350000000000005],
235: [5.96, 6.005],
240: [5.970000000000001, 5.985],
245: [6.005, 6.0],
250: [5.98, 5.99],
255: [5.995, 6.015],
260: [6.05, 6.03],
265: [6.02, 6.035],
270: [5.995, 5.984999999999999]}
headers = ["Freq", "50%_average", "100%_average"]
df = pd.DataFrame.from_dict(mydict,orient='columns')
df = df.T
df.reset_index(inplace=True)
df.columns = headers
df.to_csv (r'file.csv', index = False, header=True)
輸出 :
Freq 50%_average 100%_average
230 5.930 5.935
235 5.960 6.005
240 5.970 5.985
245 6.005 6.000
250 5.980 5.990
255 5.995 6.015
260 6.050 6.030
265 6.020 6.035
270 5.995 5.985
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/431516.html
