#python #pandas #export-to-csv
Вопрос:
Я пытаюсь записать свою функцию чтения/записи в 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)
Комментарии:
1. Зачем вам это нужно
df = dataframe
? Просто используйтеdataframe.to_csv
2. Просто чтобы облегчить интерпретацию @Barmar
3. У меня это не сработало….
4. Покажите, как вы вызываете функции.
5. @NagabhushanSN, если только они не сбежали.
Ответ №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()