【问题标题】:Read CSV file with Python function使用 Python 函数读取 CSV 文件
【发布时间】:2021-11-04 16:08:30
【问题描述】:

我正在尝试将我的读/写函数写入 csv,但它无法返回任何值。

我正在读取 CSV,将第二列中的“;”替换为“”,然后执行并保存已处理的 csv。

但由于某种原因它没有保存我的 csv,是我的功能错误吗?

我刚开始接触 Python 世界,但遇到了一些麻烦。

import pandas as pd

header_col = ['col0','col1','col2','col3','col4','col5','col6','col7','col8','col9']
df = pd.read_csv('myfile_<date>.csv', encoding="ISO-8859-1", sep=';', names=header_col, header=None)

def file_load(df):
    df['col1'] = df['col1'].str.replace(';',' ') 
    df.drop(columns=['col8'], inplace=True)
    df.drop(columns=['col9'], inplace=True)
    
    return df

def save_file(dataframe):
    df = dataframe
    df.to_csv('myfile_<date>_treat.csv' ,sep=';', encoding='utf-8', index=False)

【问题讨论】:

  • 为什么需要df = dataframe?只需使用dataframe.to_csv
  • 只是为了让解释更容易@Barmar
  • 它对我不起作用......
  • 显示你是如何调用函数的。
  • @NagabhushanSN 除非他们被逃脱。

标签: python pandas export-to-csv


【解决方案1】:
import pandas as pd

def file_load(df):
    df['col1'] = str(df['col1']).replace(';',' ') 
    df.drop(columns=['col8'], inplace=True)
    df.drop(columns=['col9'], inplace=True)
    return df

def save_file(dataframe):
    df = dataframe
    df.to_csv('myfile_<date>_treat.csv' ,sep=',', encoding='utf-8', 
    index=False)


def main():
    header_col= 
    ['col0','col1','col2','col3','col4','col5','col6','col7','col8','col9']
    df = pd.read_csv('myfile_<date>.csv', encoding="ISO-8859-1", sep=';', 
    names=header_col, header=None)

    df1 = file_load(df)
    save_file(df1)

if __name__ == '__main__':
    main()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-12
    • 2010-10-28
    • 2016-04-06
    • 1970-01-01
    • 1970-01-01
    • 2017-08-13
    相关资源
    最近更新 更多