Я пытался записать эти данные в CSV-файл, но он пишет не правильно. Я хочу получить "тип" не "" "тип" ""

Python3, pycharm

 import pandas as pd
 import csv

 def main():
    req = pd.read_csv('/Users/user/web/python/Book copy.csv')
    account = 'test'
    transferType = 'Loan'
    comment = "test"

    with open('data2.csv', 'w') as csv_file:
        writer = csv.writer(csv_file, delimiter=';')
        writer.writerow(['"type"','"currency"','"amount"','"comment"'])

        for i in range(len(req)):
            currency = req['Currency'].values[i]
            reqAmount = req['Request'].values[i]
            r = round(reqAmount, -1)
            data = [transferType, account, currency, r, comment]
            writer.writerow(data)

    print("DONE")

if __name__ == '__main__':
    main()

"""тип"""

0
SlumpGod 28 Май 2019 в 01:53

2 ответа

Лучший ответ

Не уверен, почему ваша строка заголовка должна быть заключена в кавычки, но проблема в том, что " является символом кавычки по умолчанию и экранируется, вам нужно изменить его на что-то другое, если вы действительно хотите использовать заголовки в кавычках

writer = csv.writer(csv_file, delimiter=';', quotechar='$')
1
Iain Shelvington 27 Май 2019 в 23:03

Помимо того, что @Iain Shelvington упомянул об экранировании ", я бы также изменил ваш разделитель на ',', если вы хотите, чтобы программа для работы с электронными таблицами, например Excel, считывала вывод при открытии как отформатированную электронную таблицу. Более того, если вы не хотите, чтобы символы "появлялись в заголовках столбцов csv, удалите их из списка как таковые:

writer.writerow(['type','currency','amount','comment'])
1
finianoneill 27 Май 2019 в 23:11