Добавьте много листов xlsx в файл csv.Python

Программы на Python
Anonymous
 Добавьте много листов xlsx в файл csv.

Сообщение Anonymous »

У меня есть книга Excel со множеством листов, которые я хотел бы добавить в один большой файл CSV с помощью Python. Я написал приведенный ниже код, который в настоящее время добавляет в CSV только данные окончательного листа. Как мне провести рефакторинг, чтобы ВСЕ листы в книге добавлялись в файл, а не перезаписывали его каждый раз?

Код: Выделить всё

# save xlsx to variable
xls = pd.ExcelFile("Test1.xlsx")

# create a new csv to write everything to
with open('emails.csv', 'w') as creating_new_csv_file:
pass

# for each sheet in the file, get the 3 necessary columns saved to a variable
for sheet_name in xls.sheet_names:
read_file = pd.read_excel('Test1.xlsx', sheet_name=[f'{sheet_name}'], header=0, usecols=['Page', 'URL', 'Person'])
# now loop through that dictionary object to exclude the actual sheet name and be able to output to csv
for sheet in read_file:
print(read_file[sheet])
# adds the data to the CSV created earlier. However, only adds the final sheet, whereas
# I want to be appending each one so that they are all in the CSV together.
read_file[sheet].to_csv("emails.csv",
index=False,
header=True,
columns=['Page', 'URL', 'Person']
)
Я пробовал несколько разных вещей, но, честно говоря, я новичок в Python и особенно в библиотеке Pandas, поэтому я ценю любые советы, которые могу получить по этому поводу. Мне также хотелось бы узнать, есть ли лучший способ сделать это.
Пожалуйста, дайте мне знать, если мой запрос не имеет смысла!

Подробнее здесь: https://stackoverflow.com/questions/772 ... a-csv-file

Вернуться в «Python»