numpy Pandas在转换为csv时截断逗号分隔的ID列表

yx2lnoni  于 2023-03-23  发布在  其他
关注(0)|答案(1)|浏览(179)

我正在尝试将Pandas Dataframe转换为CSV,并将一些患者ID存储为我想要转换为逗号分隔字符串的数字(例如[123,456,789]变为“123,456,789”)。这些患者ID列表表示属于聚类算法生成的聚类的患者。
但是我想存储的一些ID列表在Excel中被截断了(甚至不是全部,只是一些)。不确定为什么只有某些条目被截断(它们不是最大的,所以列表的大小不是问题).我知道Excel会截断大数字,但我不认为这对我来说应该是一个问题,因为我已经在使用",".join连接它们之前将值转换为字符串。
我已经检查过了,但它们没有太大的帮助:why pandas change (large)numbers when it exports data to csv and excelPython pandas large floats with to_csv
用于生成ID的Python代码

patients_in_cluster = tissue_cancer_data["ID"][clustered_data_labels == cluster_label].to_numpy()

clustered_tissue_data.loc[len(clustered_tissue_data)] = "NA"
clustered_tissue_data_size = len(clustered_tissue_data)

patients_in_cluster = helpers.integer_array_to_string(patients_in_cluster)
clustered_tissue_data.iloc[-1, -1] = ",".join(patients_in_cluster)

Python代码的输出:

PatientIDs
1030133,1024647,1030131,1021253,1030129,103013...
1030132,1024645,1020977,1021996,1021906,171711...
1534281,1089967,2068449,1494905,1084226,261977...
2619774,2297298,1172718,1629125,1054774,105477...
1084231,1021893,1717076,1657971,1717085,102448...

Excel中的输出:

1030133,1024647,1030131,1021253,1030129,103013...
######
1534281,1089967,2068449,1494905,1084226,261977...
######
######

我希望Excel中的输出都是逗号分隔的ID列表。如何解决这个问题?

6ovsh4lw

6ovsh4lw1#

我发现的解决方案似乎是使用逗号以外的分隔符(这可以是这样的东西;、:、和|,在我的情况下我使用;我不认为这解决了核心问题,但对那些寻找解决方案的人来说,这将是一个有用的信息。

相关问题