[英]python pandas - unable to convert scientific notation in a csv field to string?
我正在嘗試使用熊貓來確保 csv 將某些字段(包含數字)輸出為字符串,而不是數字。
這是 csv 中的初始字段 - 它們以科學記數法格式設置:
FIPS_BLOCK FIPS_BLKGR FIPS_TRACT
5.51E+14 5.51E+11 5.51E+10
5.51E+14 5.51E+11 5.51E+10
5.51E+14 5.51E+11 5.51E+10
5.51E+14 5.51E+11 5.51E+10
我如何嘗試轉換為字符串:
import pandas as pd
# lst of column names which needs to be string
lst_str_cols = ['FIPS_BLOCK', 'FIPS_BLKGR', 'FIPS_TRACT','FIPS_PLACE']
# use dictionary comprehension to make dict of dtypes
dict_dtypes = {x : 'str' for x in lst_str_cols}
# use dict on dtypes
df = pd.read_csv(output_files_dir + "//" + output_shp_name + ".csv", dtype=dict_dtypes)
df.to_csv(output_files_dir + "//" + output_shp_name + ".csv")
它仍然以科學記數法進行格式化。 我也試過轉換為數字 (int64),但它仍然以科學記數法輸出,所以我不知道還能嘗試什么。 謝謝你。
謝謝。
從pandas 文檔中,您可以在.to_csv
方法中添加引用選項。
對於您的代碼
import csv
df.to_csv(output_files_dir + "//" + output_shp_name + ".csv", quoting=csv.QUOTE_NONNUMERIC)
或者,如果您想引用所有內容(包括數字),您可以使用csv.QUOTE_ALL
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.