![](/img/trans.png)
[英]How to export .csv file from python and using pandas DataFrame
[英]How to export Pandas DataFrame into CSV file
如何將 Pandas DataFrame 導出到 CSV 文件並從下面的字符串中讀取?
series: [{
name: 'Water',
data: [[90, 50000],[91, 53000],[92, 56000],[93, 62000],[94, 68000],[95, 76000],[96, 83000],[97, 91000],[98, 98000],[99, 105000],[100, 110000],[101, 114000],[102, 116000],[103, 116000],[104, 114000],[105, 111000],[106, 105000],[107, 99000],[108, 92000],[109, 84000],[110, 77000],[111, 69000],[112, 62000],[113, 56000],[114, 52000],[115, 48000],[116, 46000],[117, 45000],[118, 46000],[119, 47000],[120, 48000],[121, 50000],[122, 52000],[123, 54000],[124, 55000],[125, 54000],[126, 53000],[127, 51000],[128, 47000],[129, 43000],[130, 38000]]
},{
name: 'tea',
data: [[90, 47000],[91, 53000],[92, 57000],[93, 59000],[94, 59000],[95, 58000],[96, 55000],[97, 53000],[98, 51000],[99, 51000],[100, 53000],[101, 58000],[102, 64000],[103, 72000],[104, 80000],[105, 89000],[106, 97000],[107, 102000],[108, 105000],[109, 105000],[110, 101000],[111, 95000],[112, 87000],[113, 77000],[114, 67000],[115, 57000],[116, 50000],[117, 46000],[118, 45000],[119, 47000],[120, 53000],[121, 61000],[122, 70000],[123, 81000],[124, 90000],[125, 98000],[126, 103000],[127, 105000],[128, 104000],[129, 100000],[130, 94000]]
},{
name: 'Tonic',
data: [[90, 63000],[91, 68000],[92, 73000],[93, 78000],[94, 82000],[95, 85000],[96, 86000],[97, 86000],[98, 84000],[99, 81000],[100, 77000],[101, 71000],[102, 66000],[103, 60000],[104, 54000],[105, 50000],[106, 46000],[107, 44000],[108, 44000],[109, 46000],[110, 49000],[111, 54000],[112, 60000],[113, 67000],[114, 74000],[115, 81000],[116, 88000],[117, 94000],[118, 99000],[119, 102000],[120, 104000],[121, 104000],[122, 102000],[123, 99000],[124, 95000],[125, 91000],[126, 86000],[127, 81000],[128, 77000],[129, 74000],[130, 72000]]
}]
這是我的代碼:
newdata = eval(string)
df = pd.DataFrame(newdata)
df.to_csv('filename.csv', index=False)
print(df)
這是來自to_csv
調用的所需 output :
假設series
是字典或 json object。 我們可以使用 pd.json_normalize 進行初始I/O
,然后使用pd.json_normalize
重新塑造您的pd.Crosstab
df = pd.json_normalize(series,
record_path="series")\
.explode("data")\
.reset_index(drop=True)
df1 = (
df[["name"]]
.join(pd.DataFrame(df["data"].tolist()))
.rename(columns={0: "Day", 1: "Data"})
)
df2 = pd.crosstab(df1.Day,df1.name,df1.Data,aggfunc=lambda x : x)
print(df2)
name Tonic Water tea
Day
90 63000 50000 47000
91 68000 53000 53000
92 73000 56000 57000
93 78000 62000 59000
94 82000 68000 59000
95 85000 76000 58000
96 86000 83000 55000
97 86000 91000 53000
98 84000 98000 51000
99 81000 105000 51000
100 77000 110000 53000
101 71000 114000 58000
102 66000 116000 64000
103 60000 116000 72000
104 54000 114000 80000
105 50000 111000 89000
106 46000 105000 97000
107 44000 99000 102000
108 44000 92000 105000
109 46000 84000 105000
110 49000 77000 101000
111 54000 69000 95000
112 60000 62000 87000
113 67000 56000 77000
114 74000 52000 67000
115 81000 48000 57000
116 88000 46000 50000
117 94000 45000 46000
118 99000 46000 45000
119 102000 47000 47000
120 104000 48000 53000
121 104000 50000 61000
122 102000 52000 70000
123 99000 54000 81000
124 95000 55000 90000
125 91000 54000 98000
126 86000 53000 103000
127 81000 51000 105000
128 77000 47000 104000
129 74000 43000 100000
130 72000 38000 94000
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.