У меня есть большой индекс csv с числом столбцов x и числом строк y. Я хочу, чтобы мой код проходил через каждый csv (в то время как цикл индекса) и объединял столбцы с определенными заголовками в новый столбец, а затем сохранял csv в новый путь. Это мой код, но я получаю сообщение об ошибке:
'utf-8' codec can't decode byte 0xa9 in position 33: invalid start byte
Любые идеи?
import os
import pandas as pd
#code to add new row to all csvs with unique identifier stamp that combines
the following:
#wellkey+drillkey+lat+long+spuddate
files=['Apr 23 2018.csv','Apr 20 2018.csv']
index=0
os.chdir('file path')
#code to loop through all the files listed above
while index < len(files):
os.chdir('file path')
current_file=files[index]
#unique identifier column
df=pd.read_csv(current_file)
df['Unique Identifier']=df['A'] + "-" + df['B'] + "-" + df['C'] + "-" +
df['D'] + "-" + df['E']
df.to_csv(current_file)
#save new csv
os.chdir('New file Path')
index = index + 1
Спасибо за советы / комментарии / исправления.
Добро пожаловать в SO. Найдите время, чтобы прочитать Как спросить и другие ссылки на этой странице.






Когда я столкнусь с этой проблемой, первое, что я попробую, - это добавить encoding='ISO-8859-1 в свой оператор pd.read_csv().
Итак, ваше утверждение будет выглядеть так:
df=pd.read_csv(current_file, encoding='ISO-8859-1')
Возможный дубликат UnicodeDecodeError при чтении файла CSV в Pandas с помощью Python