我想將我的資料框寫入 csv,唯一有問題的列是運輸跟蹤號。在 df 資料中看起來像“SHP5047828131”,但是在寫入 csv 后我得到了“SHP 5047828131.00”我怎么能弄明白。在設定中,我只設定了 index = False, encoding='utf-8'。我應該添加什么?
下面是我的代碼
import pandas as pd
List = ['SHP5047828131', 'SHP5047828678', 'SHP5047828625', 'SHP5047828926', 'SHP5047828767', 'SHP5047828679', 'SHP5047828952', '', 'SHP5047826824', 'SHP5047828384', 'SHP5047828856']
df = pd.DataFrame(zip(List))
print(df)
df.to_csv('/Users/sirilakkk./Desktop/test.csv', index = False, encoding='utf-8')
這兩張圖片是直接列印的結果,另一張是csv檔案的結果。
df 資料 csv 資料
uj5u.com熱心網友回復:
你誤診了你的問題。正在正確創建檔案。如果您cat test.csv在類似 vi 的編輯器中打開該檔案,您會發現它很好。
您遇到的問題是 Excel,它解釋SHP5047838131為圣赫勒拿鎊中的貨幣價值。Excel 將資料解釋為貨幣。
如果您等待避免這種情況,則需要在 CSV 中的欄位周圍加上引號。您可以通過添加quoting=csv.QUOTE_ALL.
作為旁注,zip如果您只有一個串列,則不需要。
import pandas as pd
import csv
List = ['SHP5047828131', 'SHP5047828678', 'SHP5047828625', 'SHP5047828926', 'SHP5047828767', 'SHP5047828679', 'SHP5047828952', '', 'SHP5047826824', 'SHP5047828384', 'SHP5047828856']
df = pd.DataFrame(List)
print(df)
df.to_csv('x.csv', index=False, encoding='utf-8', quoting=csv.QUOTE_ALL)
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/399876.html
下一篇:根據.csv檔案的條件選擇一行
