python - 如何使用熊猫从字符串中删除小数点
问题描述
我正在读取一个 xls 文件并使用 pyspark 在数据块中转换为 csv 文件。我的输入数据是 xls 文件中的字符串格式 101101114501700。但是在使用 pandas 将其转换为 CSV 格式并写入 datalake 文件夹后,我的数据显示为 101101114501700.0。我的代码如下。请帮助我为什么我在数据中得到小数部分。
for file in os.listdir("/path/to/file"):
if file.endswith(".xls"):
filepath = os.path.join("/path/to/file",file)
filepath_pd = pd.ExcelFile(filepath)
names = filepath_pd.sheet_names
df = pd.concat([filepath_pd.parse(name) for name in names])
df1 = df.to_csv("/path/to/file"+file.split('.')[0]+".csv", sep=',', encoding='utf-8', index=False)
print(time.strftime("%Y%m%d-%H%M%S") + ": XLS files converted to CSV and moved to folder"
解决方案
我认为读取 excel 时该字段会自动解析为浮点数。之后我会更正它:
df['column_name'] = df['column_name'].astype(int)
如果您的列包含 Null,则您无法转换为整数,因此您需要先填充 null:
df['column_name'] = df['column_name'].fillna(0).astype(int)
然后你可以连接并存储你正在做的方式
推荐阅读
- azure - 使用 u-sql 运算符和函数将特定日期格式的值转换为 u-sql 脚本中的另一种指定格式
- javascript - SAPUI5/Javascript 间隔 30 秒,当数据库发生新更改时,将 MessageBox 显示为弹出窗口
- r - 如何从数据框中绘制特定时间间隔的行?
- sql - End of statement expected in vb net
- ios - 如何在圆形内裁剪带有网格的圆形图像
- r - 在 R 中绘制分组峰的平均模式
- duckling - 小鸭时区被忽略
- ruby - 遍历数组并选择每2个元素
- android - 如何从适配器设置 startActivityForResult 并在 viewPager 片段中获取结果
- ios - iOS - pod更新后出现许多错误