【发布时间】:2021-12-05 18:49:42
【问题描述】:
我正在尝试使用 pandas 来确保 CSV 文件将某些字段(包含数字)输出为字符串,而不是数字:
# 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")
虽然代码运行良好且没有错误,但 CSV 仍然有 FIPS_BLOCK, FIPS_BLKGR, FIPS_TRACT, and FIPS_PLACE 作为数字 - 即 5.50791E+14. 我可以做些什么来确保它正确输出吗?
【问题讨论】:
-
我们可以从 csv 文件中看到一些示例数据,就像您在文本编辑器中打开它一样?
-
你可以试试
df = df.apply(str) -
请给我们一些我们可以使用的东西。与其读取 CSV,不如只用几列和几行初始化一个数据框?或者,发布一个小样本 CSV 并删除
output_files_dir + "//" + output_shp_name + ".csv"以支持说“test.csv”。 -
问题可能是您首先将“str”应用于列。原生数据类型有哪些?
-
为什么发布一个问题然后就黑了?
标签: python pandas string arcpy