首页 > 解决方案 > 熊猫df。to_csv 跳过值或给出不正确的值

问题描述

我正在尝试使用 sep='|' 将数据从 pandas 数据帧移动到 txt 文件 我遇到了问题,因为数据没有被正确复制。

我正在尝试df.to_csv('file.txt', header = True, index = False, sep='|')

我正在计算数据框中一列的总和,一旦将其复制到文本文件,该值与同一列的总和不匹配。我还注意到文本文件中有一行值被错误地放置在列中。不知道是什么导致了这个问题。

我正在尝试将文件从一个 s3 存储桶移动到另一个 s3 存储桶。在源存储桶中,它是一个 csv 文件,我想将其更改为 txt 并放置在目标存储桶中。

当我将数据读取到数据框并对列等进行更改时,最终的年度总和是相同的,但是在我将其复制到 txt 并检查 s3 存储桶中的 txt 文件后,值不匹配。

bucket = 'my bucket'
file = 'file path'

final_df=pd.DataFrame() 
obj = client.get_object(Bucket= bucket, Key= file)
initial_df = pd.read_csv(obj['Body'])
print(initial_df['Final Annual'].sum()

del initial_df['clo: 0']
initial_df = initial_df.rename(columns={"col: 0.1": "GTX"})
initial_df['P Name'] = initial_df['P Name'].str.replace(r'[^\w\s]+', ' ')
final_df=pd.concat([final_df,initial_df],sort=False)
print(initial_df['Final Annual'].sum())


file = 'MY_FILE.txt'
bucketdest = 'dest bucket'
final_df.to_csv(file, header = True, index = False, sep='|')
s3_file = 'folder path'+ file
print(s3_file)
client2.upload_file(file,bucketdest,s3_file)
print('loaded')

提前致谢

标签: pythonpandasdataframecsvamazon-s3

解决方案


推荐阅读