关于Dataframe数据保存出现的问题

发布时间 2023-11-13 16:43:19作者: xiaodangao

问题描述:
读入csv文件,执行以下程序

import pandas as pd
import numpy as np

# pd.set_option('max_colwidth',2000)
sub_file_name="submission.csv"
df = pd.read_csv(sub_file_name,header=None)
pro_file_name="problem.csv"
df2 = pd.read_csv(pro_file_name,header=None)
pid=test[2].to_string(index=False)
res=df2[df2[0] == pid]
print(len(res[3].to_string(index=False))) 

无论res[3]长度有多长,结果均显示len为50,也就是说将它保存为字符串格式也会发生错误,也就是“...”省略号将被保存。
这是因为\(max_colwidth\)被设置为50。
解决办法:

import pandas as pd
import numpy as np

pd.set_option('max_colwidth',2000)#设置最大长度为2000
sub_file_name="submission.csv"
df = pd.read_csv(sub_file_name,header=None)
pro_file_name="problem.csv"
df2 = pd.read_csv(pro_file_name,header=None)
pid=test[2].to_string(index=False)
res=df2[df2[0] == pid]
print(len(res[3].to_string(index=False))) 

如程序所示,将最大长度设置为2000。(如果字符串更长可以设置更长的参数)